/*
 * Copyright (c) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef __OS04B_2L_CMOS_EX_H_
#define __OS04B_2L_CMOS_EX_H_

#include "hi_awb_comm.h"

#ifdef __cplusplus
#if __cplusplus
extern "C" {
#endif
#endif

static const ISP_CMOS_LCAC_S g_stIspLCac = {
    1, /* bEnable */
    0, /* enOpMode */
    0, /* VarThr */
    {1500, 1500, 0}, /* au16RLumaThd */
    {1500, 1500, 0}, /* au16GLumaThd */
    {4095, 1500, 0}, /* au16BLumaThd */
    {3200, 1500, 0}, /* au16YLumaThd */
    {-50, -50, -50}, /* as16CbCrRatio */
    30, /* u16PurpleDetRange */
    {
        0, /* u8DePurpleCrStr */
        3  /* u8DePurpleCbStr */
    },
    {
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* u8DePurpleCrStr */
        { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }  /* u8DePurpleCbStr */
    }
};

static const ISP_CMOS_DPC_S g_stCmosDpc = {
    { 0, 0, 0, 152, 200, 200, 220, 220, 220, 220, 152, 152, 152, 152, 152, 152 }, /* au16Strength[16] */
    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 50, 50, 50, 50, 50 },                     /* au16BlendRatio[16] */
};

static const ISP_CMOS_GE_S g_stIspGe = {
    /* For GE */
    1,   /* bEnable */
    9,   /* u8Slope */
    9,   /* u8SensiSlope */
    300, /* u16SensiThr */
    { 300, 300, 300, 300, 310, 310, 310, 310, 320, 320, 320, 320, 330, 330, 330, 330 },
    { 128, 128, 128, 128, 129, 129, 129, 129, 130, 130, 130, 130, 131, 131, 131, 131 },
    { 1024, 1024, 1024, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048 }
};

static const ISP_CMOS_GE_S g_stIspWdrGe = {
    /* For GE */
    0,   /* bEnable */
    9,   /* u8Slope */
    9,   /* u8SensiSlope */
    300, /* u16SensiThr */
    { 300, 300, 300, 300, 310, 310, 310, 310, 320, 320, 320, 320, 330, 330, 330, 330 },
    { 128, 128, 128, 128, 129, 129, 129, 129, 130, 130, 130, 130, 131, 131, 131, 131 },
    { 1024, 1024, 1024, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048, 2048 }
};

static const ISP_CMOS_DEMOSAIC_S g_stIspDemosaic = {
    1, /* bEnable */
    /* au8NonDirStr */
    { 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64 },
    /* au8NonDirLFDetailEhc */
    { 32, 24, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 },
    /* au8NonDirHFDetailEhc */
    { 2, 2, 2, 3, 4, 5, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7 },
    /* au8DetailSmoothRange */
    { 1, 1, 2, 2, 2, 3, 3, 3, 4, 5, 7, 7, 7, 7, 7, 7 },
};

static const ISP_CMOS_DEMOSAIC_S g_stIspDemosaicWdr = {
    1, /* bEnable */
    /* au8NonDirStr */
    { 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 },
    /* au8NonDirLFDetailEhc */
    { 60, 45, 40, 35, 30, 25, 25, 20, 15, 16, 16, 16, 16, 16, 16, 16 },
    /* au8NonDirHFDetailEhc */
    { 0, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 5, 5, 5 },
    /* au8DetailSmoothRange */
    { 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 7, 7, 7, 7, 7, 7 },
};

static const ISP_CMOS_ANTIFALSECOLOR_S g_stIspAntiFalseColor = {
    1,                                                    /* bEnable */
    { 10, 10, 8, 8, 7, 7, 7, 6, 6, 6, 5, 4, 3, 2, 1, 0 }, /* au8AntiFalseColorThreshold */
    { 8, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 4, 3, 2, 1, 0 },   /* au8AntiFalseColorStrength */
};

static const ISP_CMOS_ANTIFALSECOLOR_S g_stIspWdrAntiFalseColor = {
    1,                                                    /* bEnable */
    { 10, 10, 8, 8, 7, 7, 7, 6, 6, 6, 5, 4, 3, 2, 1, 0 }, /* au8AntiFalseColorThreshold */
    { 8, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 4, 3, 2, 1, 0 },   /* au8AntiFalseColorStrength */
};

/* BAYER NR */
static ISP_CMOS_NOISE_CALIBRATION_S g_stIspNoiseCalibration = {
    12, /* Calibration Lut Num */
    {
        { 106.0f, 0.017536f, 0.024127f },
        { 117.0f, 0.01939f, 0.025791f },
        { 227.0f, 0.037736f, 0.040171f },
        { 470.0f, 0.07777f, 0.084227f },
        { 1747.0f, 0.287293f, 0.379383f },
        { 4002.0f, 0.655649f, 1.155996f },
        { 6491.0f, 1.065072f, 2.335924f },
        { 15969.0f, 2.720477f, 10.456544f },
        { 29738.0f, 5.172001f, 30.797239f },
        { 59343.0f, 10.782349f, 100.457473f },
        { 103124.0f, 21.000038f, 210.387179f },
        { 238817.0f, 28.774144f, 257.811098f }
    }
};

static const ISP_CMOS_BAYERNR_S g_stIspBayerNr = {
    1,                                                                  /* bEnable */
    0,                                                                  /* bBnrMonoSensorEn */
    0,                                                                  /* bNrLscEnable */
    96,                                                                 /* u8BnrLscMaxGain */
    256,                                                                /* u16BnrLscCmpStrength */
    { 40, 45, 50, 50, 50, 50, 50, 46, 40, 40, 30, 28, 24, 20, 16, 16 }, /* FineStr */
    {
        { 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3 }, /* ChromaStrR */
        { 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2 }, /* ChromaStrGr */
        { 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2 }, /* ChromaStrGb */
        { 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3 }  /* ChromaStrB */
    },
    { 0, 0, 0, 0 }, /* WDRFrameStr */
    { 0, 0, 0, 0 }, /* FusionFrameStr */
    {
        { 114, 117, 120, 120, 120, 120, 120, 140, 160, 160, 180, 200, 200, 200, 200, 200 }, /* CoarseStrR */
        { 100, 105, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110 }, /* CoarseStrGR */
        { 100, 105, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110 }, /* CoarseStrGB */
        { 114, 117, 120, 120, 120, 120, 120, 140, 160, 160, 180, 200, 200, 200, 200, 200 }  /* CoarseStrB */
    },
    { 35, 40, 50, 80, 100, 140, 200, 240, 280, 300, 300, 400, 400, 400, 400, 400 }, /* lutCoringWeight */
    {
        60, 60, 60, 60, 65, 65, 65, 65, 70, 70, 70, 70, 70,  70,  70,  70, /* CoringRatio */
        80, 80, 80, 85, 85, 85, 90, 90, 90, 95, 95, 95, 100, 100, 100, 100, 100
    },
};

static const ISP_CMOS_BAYERNR_S g_stIspBayerNrWdr2To1 = {
    1,                                                                  /* bEnable */
    0,                                                                  /* bBnrMonoSensorEn */
    0,                                                                  /* bNrLscEnable */
    96,                                                                 /* u8BnrLscMaxGain */
    256,                                                                /* u16BnrLscCmpStrength */
    { 80, 80, 80, 80, 70, 70, 60, 40, 30, 30, 16, 16, 16, 16, 16, 16 }, /* FineStr */
    {
        { 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3 }, /* ChromaStrR */
        { 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2 }, /* ChromaStrGr */
        { 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2 }, /* ChromaStrGb */
        { 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3 }  /* ChromaStrB */
    },
    { 15, 12, 0, 0 }, /* WDRFrameStr */
    { 15, 12, 0, 0 }, /* FusionCoarseStr */
    {
        { 120, 120, 120, 120, 120, 120, 120, 140, 160, 160, 180, 200, 200, 200, 200, 200 }, /* CoarseStrR */
        { 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110 }, /* CoarseStrGR */
        { 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110 }, /* CoarseStrGB */
        { 120, 120, 120, 120, 120, 120, 120, 140, 160, 160, 180, 200, 200, 200, 200, 200 }  /* CoarseStrB */
    },
    { 40, 40, 40, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 }, /* lutCoringWeight */
    {
        100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, /* coring ratio */
        100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100
    },
};

static const ISP_CMOS_DETAIL_S g_stIspDetail = {
    {
        1, /* bEnable */
        { 256, 256, 200, 170, 150, 100, 60, 60, 60, 80, 80, 80, 80, 50, 50, 100, 100 },
        1, /* enOpType */
        {
            { 150, 150, 150, 150, 170, 190, 190, 150, 150, 150, 150, 150, 150, 150, 150, 150 }, /* au16GlobalGain */
            { 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },                                 /* au16GainLF */
            { 9, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 },                     /* au16GainHF */
        },
        {
            150, /* u16GlobalGain */
            9,   /* u16GainLF */
            9    /* u16GainHF */
        }
    }
};

static const ISP_CMOS_DETAIL_S g_stIspDetailWdr2To1 = {
    {
        0, /* bEnable */
        { 256, 256, 200, 170, 150, 100, 60, 60, 60, 80, 80, 80, 80, 50, 50, 100, 100 },
        1, /* enOpType */
        {
            { 150, 150, 150, 150, 170, 190, 190, 150, 150, 150, 150, 150, 150, 150, 150, 150 }, /* au16GlobalGain */
            { 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },                                 /* au16GainLF */
            { 9, 9, 9, 9, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12 },                     /* au16GainHF */
        },
        {
            150, /* u16GlobalGain */
            9,   /* u16GainLF */
            9    /* u16GainHF */
        }
    }
};

static const ISP_CMOS_LDCI_S g_stIspLdci = {
    /* bEnable */
    1,
    /* u8GaussLPFSigma */
    36,

    /* au8HePosWgt */
    { 50, 45, 42, 40, 35, 32, 12, 8, 6, 0, 0, 0, 0, 0, 0, 0 },
    /* au8HePosSigma */
    { 80, 80, 72, 72, 72, 64, 24, 20, 12, 8, 6, 2, 1, 1, 1, 1 },
    /* au8HePosMean */
    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

    /* au8HeNegWgt */
    { 50, 45, 45, 45, 45, 24, 12, 8, 6, 0, 0, 0, 0, 0, 0, 0 },
    /* au8HeNegSigma */
    { 80, 80, 80, 80, 80, 72, 64, 54, 36, 8, 6, 2, 1, 1, 1, 1 },
    /* au8HeNegMean */
    { 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

    /* au16BlcCtrl */
    { 20, 20, 20, 20, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30 }
};

static const ISP_CMOS_LDCI_S g_stIspWdrLdci = {
    /* bEnable */
    1,
    /* u8GaussLPFSigma */
    20,

    /* au8HePosWgt */
    { 60, 60, 60, 45, 40, 30, 12, 8, 6, 0, 0, 0, 0, 0, 0, 0 },
    /* au8HePosSigma */
    { 80, 80, 80, 60, 60, 60, 24, 20, 12, 8, 6, 2, 1, 1, 1, 1 },
    /* au8HePosMean */
    { 60, 60, 50, 40, 30, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

    /* au8HeNegWgt */
    { 32, 32, 42, 54, 64, 24, 12, 8, 6, 0, 0, 0, 0, 0, 0, 0 },
    /* au8HeNegSigma */
    { 46, 46, 48, 48, 48, 72, 64, 54, 36, 8, 6, 2, 1, 1, 1, 1 },
    /* au8HeNegMean */
    { 128, 128, 140, 160, 180, 180, 180, 180, 180, 0, 0, 0, 0, 0, 0, 0 },

    /* au16BlcCtrl */
    { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }
};

static const ISP_CMOS_GAMMA_S g_stIspGamma = {
    {
        0,    33,   63,   92,   120,  146,  172,  196,  220,  243,  266,  289,  310,  331,  350,  370,  390,  410,  431,
        451,  470,  488,  506,  523,  540,  558,  576,  593,  610,  626,  641,  655,  670,  685,  700,  715,  730,  744,
        758,  772,  786,  800,  814,  828,  842,  855,  868,  881,  894,  907,  919,  932,  944,  956,  968,  981,  994,
        1008, 1022, 1036, 1050, 1063, 1074, 1085, 1096, 1107, 1117, 1128, 1138, 1148, 1158, 1168, 1178, 1188, 1198, 1208,
        1218, 1228, 1237, 1246, 1254, 1261, 1267, 1273, 1280, 1288, 1296, 1305, 1314, 1322, 1330, 1338, 1346, 1354, 1362,
        1370, 1378, 1386, 1393, 1401, 1408, 1415, 1423, 1430, 1438, 1445, 1453, 1460, 1467, 1474, 1480, 1487, 1493, 1500,
        1506, 1513, 1519, 1525, 1531, 1537, 1543, 1549, 1555, 1562, 1568, 1574, 1580, 1586, 1592, 1598, 1604, 1609, 1615,
        1621, 1626, 1632, 1638, 1644, 1650, 1655, 1661, 1667, 1672, 1678, 1683, 1689, 1694, 1700, 1705, 1710, 1715, 1721,
        1726, 1731, 1737, 1742, 1748, 1753, 1759, 1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 1805, 1810, 1815, 1820,
        1825, 1830, 1835, 1839, 1844, 1849, 1854, 1859, 1864, 1869, 1874, 1879, 1883, 1888, 1893, 1897, 1902, 1907, 1912,
        1916, 1921, 1926, 1931, 1936, 1940, 1945, 1950, 1954, 1959, 1963, 1967, 1972, 1976, 1981, 1985, 1990, 1994, 1999,
        2004, 2008, 2013, 2017, 2021, 2025, 2030, 2034, 2038, 2043, 2048, 2052, 2056, 2061, 2065, 2069, 2073, 2078, 2082,
        2086, 2090, 2094, 2098, 2102, 2106, 2110, 2115, 2119, 2123, 2128, 2132, 2136, 2140, 2144, 2148, 2152, 2156, 2160,
        2164, 2168, 2172, 2176, 2180, 2184, 2188, 2192, 2196, 2200, 2204, 2208, 2212, 2216, 2220, 2223, 2227, 2231, 2235,
        2239, 2243, 2247, 2251, 2255, 2258, 2262, 2266, 2269, 2273, 2277, 2281, 2285, 2288, 2292, 2296, 2300, 2303, 2307,
        2311, 2314, 2318, 2322, 2326, 2330, 2333, 2337, 2341, 2344, 2347, 2351, 2355, 2358, 2362, 2366, 2370, 2373, 2377,
        2380, 2383, 2387, 2390, 2394, 2398, 2401, 2405, 2408, 2411, 2415, 2418, 2422, 2426, 2429, 2433, 2436, 2439, 2443,
        2446, 2450, 2454, 2457, 2461, 2464, 2467, 2470, 2474, 2477, 2480, 2484, 2488, 2491, 2494, 2498, 2501, 2504, 2507,
        2511, 2515, 2518, 2521, 2525, 2528, 2531, 2534, 2537, 2541, 2544, 2547, 2551, 2554, 2557, 2560, 2563, 2567, 2570,
        2573, 2577, 2580, 2583, 2586, 2589, 2593, 2596, 2599, 2603, 2606, 2609, 2612, 2615, 2618, 2621, 2624, 2628, 2631,
        2634, 2637, 2640, 2643, 2646, 2649, 2652, 2656, 2659, 2662, 2665, 2668, 2671, 2674, 2677, 2680, 2683, 2686, 2690,
        2693, 2696, 2699, 2702, 2705, 2708, 2711, 2714, 2717, 2720, 2723, 2726, 2729, 2732, 2735, 2738, 2741, 2744, 2747,
        2750, 2753, 2756, 2759, 2762, 2764, 2767, 2770, 2773, 2776, 2779, 2782, 2785, 2788, 2791, 2794, 2796, 2799, 2802,
        2805, 2808, 2811, 2814, 2817, 2820, 2822, 2825, 2828, 2831, 2834, 2837, 2840, 2843, 2845, 2848, 2851, 2853, 2856,
        2859, 2862, 2865, 2868, 2871, 2874, 2877, 2879, 2882, 2885, 2887, 2890, 2893, 2896, 2899, 2901, 2904, 2907, 2909,
        2912, 2915, 2918, 2920, 2923, 2926, 2929, 2932, 2934, 2937, 2940, 2942, 2945, 2948, 2951, 2954, 2956, 2959, 2962,
        2964, 2966, 2969, 2972, 2974, 2977, 2980, 2983, 2986, 2988, 2991, 2994, 2996, 2998, 3001, 3004, 3006, 3009, 3012,
        3015, 3018, 3020, 3023, 3026, 3028, 3031, 3033, 3035, 3038, 3040, 3043, 3046, 3048, 3051, 3054, 3057, 3059, 3062,
        3064, 3066, 3069, 3071, 3074, 3077, 3080, 3082, 3085, 3088, 3090, 3093, 3095, 3097, 3100, 3102, 3105, 3108, 3110,
        3113, 3115, 3117, 3120, 3122, 3125, 3128, 3130, 3133, 3135, 3138, 3140, 3143, 3145, 3147, 3150, 3152, 3155, 3158,
        3160, 3163, 3165, 3167, 3170, 3172, 3175, 3178, 3180, 3183, 3185, 3187, 3189, 3192, 3194, 3196, 3199, 3201, 3204,
        3207, 3209, 3211, 3214, 3217, 3219, 3222, 3224, 3226, 3228, 3231, 3233, 3235, 3238, 3241, 3243, 3245, 3247, 3250,
        3252, 3254, 3257, 3260, 3262, 3264, 3267, 3269, 3271, 3273, 3276, 3279, 3281, 3283, 3286, 3288, 3290, 3292, 3295,
        3298, 3300, 3302, 3305, 3307, 3309, 3311, 3313, 3316, 3318, 3320, 3322, 3325, 3327, 3329, 3332, 3335, 3337, 3339,
        3342, 3344, 3346, 3348, 3350, 3353, 3355, 3357, 3360, 3362, 3364, 3366, 3368, 3371, 3373, 3375, 3378, 3380, 3382,
        3384, 3386, 3389, 3391, 3393, 3396, 3398, 3400, 3402, 3405, 3407, 3409, 3411, 3413, 3416, 3418, 3420, 3423, 3425,
        3427, 3429, 3431, 3434, 3436, 3438, 3441, 3443, 3445, 3447, 3449, 3452, 3454, 3456, 3459, 3461, 3463, 3465, 3467,
        3469, 3471, 3473, 3475, 3478, 3480, 3482, 3484, 3487, 3489, 3491, 3494, 3496, 3498, 3500, 3502, 3504, 3506, 3508,
        3511, 3513, 3515, 3517, 3519, 3521, 3523, 3525, 3528, 3530, 3532, 3534, 3536, 3538, 3540, 3542, 3545, 3547, 3549,
        3551, 3553, 3555, 3557, 3559, 3561, 3564, 3566, 3568, 3570, 3572, 3574, 3576, 3578, 3581, 3583, 3585, 3587, 3589,
        3591, 3593, 3595, 3598, 3600, 3602, 3604, 3606, 3608, 3610, 3612, 3614, 3616, 3618, 3620, 3622, 3624, 3626, 3628,
        3631, 3633, 3635, 3637, 3639, 3641, 3643, 3645, 3647, 3649, 3651, 3653, 3655, 3657, 3659, 3661, 3663, 3665, 3667,
        3670, 3672, 3674, 3676, 3678, 3680, 3682, 3684, 3686, 3688, 3690, 3692, 3694, 3696, 3698, 3700, 3702, 3704, 3706,
        3708, 3710, 3712, 3714, 3716, 3718, 3720, 3722, 3724, 3726, 3728, 3730, 3732, 3734, 3736, 3738, 3740, 3742, 3744,
        3746, 3748, 3750, 3752, 3754, 3756, 3758, 3760, 3762, 3764, 3766, 3767, 3769, 3771, 3773, 3775, 3777, 3779, 3781,
        3783, 3785, 3787, 3789, 3791, 3793, 3795, 3797, 3799, 3801, 3803, 3804, 3806, 3808, 3810, 3812, 3814, 3816, 3818,
        3820, 3822, 3824, 3826, 3828, 3830, 3832, 3834, 3836, 3837, 3839, 3841, 3843, 3845, 3847, 3849, 3851, 3853, 3855,
        3857, 3858, 3860, 3862, 3864, 3866, 3868, 3870, 3872, 3873, 3875, 3877, 3879, 3881, 3883, 3885, 3887, 3888, 3890,
        3892, 3894, 3896, 3898, 3900, 3902, 3904, 3905, 3907, 3909, 3911, 3913, 3915, 3917, 3919, 3920, 3922, 3924, 3926,
        3928, 3930, 3932, 3934, 3935, 3937, 3939, 3941, 3943, 3945, 3947, 3949, 3950, 3952, 3954, 3955, 3957, 3959, 3961,
        3963, 3965, 3967, 3969, 3971, 3972, 3974, 3976, 3977, 3979, 3981, 3983, 3985, 3987, 3989, 3991, 3993, 3994, 3996,
        3998, 4000, 4001, 4003, 4005, 4006, 4008, 4010, 4012, 4014, 4016, 4018, 4020, 4022, 4023, 4025, 4027, 4028, 4030,
        4032, 4034, 4036, 4037, 4039, 4041, 4042, 4044, 4046, 4048, 4050, 4052, 4054, 4056, 4058, 4059, 4061, 4063, 4064,
        4066, 4068, 4070, 4072, 4073, 4075, 4077, 4078, 4080, 4082, 4084, 4086, 4087, 4089, 4091, 4092, 4094, 4095
    }
};

static const ISP_CMOS_GAMMA_S g_stIspGammaFSWDR = {
    /* Car gamma */
    {
        0,    32,   44,   56,   68,   79,   91,   103,  115,  127,  139,  151,  163,  175,  187,  199,  211,  223,  235,
        247,  259,  271,  283,  295,  307,  318,  330,  342,  354,  366,  377,  389,  401,  413,  424,  436,  448,  459,
        471,  482,  494,  506,  517,  528,  540,  551,  563,  574,  585,  596,  608,  619,  630,  641,  652,  663,  674,
        685,  696,  707,  718,  728,  739,  750,  760,  771,  781,  792,  802,  813,  823,  833,  843,  854,  864,  874,
        884,  894,  904,  914,  923,  933,  943,  953,  962,  972,  981,  991,  1000, 1010, 1019, 1028, 1037, 1046, 1056,
        1065, 1074, 1083, 1092, 1101, 1109, 1118, 1127, 1136, 1144, 1153, 1161, 1170, 1178, 1187, 1195, 1203, 1212, 1220,
        1228, 1236, 1244, 1253, 1261, 1269, 1277, 1284, 1292, 1300, 1308, 1316, 1323, 1331, 1339, 1347, 1355, 1363, 1371,
        1379, 1387, 1394, 1402, 1409, 1417, 1424, 1432, 1439, 1446, 1454, 1461, 1468, 1475, 1482, 1489, 1495, 1502, 1509,
        1516, 1522, 1529, 1535, 1542, 1548, 1555, 1561, 1568, 1574, 1580, 1587, 1593, 1599, 1605, 1611, 1618, 1624, 1630,
        1636, 1642, 1648, 1654, 1660, 1666, 1672, 1678, 1684, 1690, 1696, 1702, 1708, 1714, 1720, 1726, 1732, 1738, 1744,
        1751, 1756, 1762, 1767, 1773, 1778, 1784, 1789, 1794, 1800, 1805, 1810, 1815, 1820, 1826, 1831, 1836, 1841, 1846,
        1851, 1856, 1860, 1865, 1870, 1875, 1880, 1885, 1890, 1894, 1899, 1904, 1909, 1914, 1919, 1923, 1928, 1933, 1938,
        1943, 1948, 1953, 1958, 1962, 1967, 1972, 1977, 1982, 1988, 1993, 1998, 2003, 2008, 2013, 2019, 2024, 2030, 2035,
        2040, 2046, 2052, 2057, 2063, 2069, 2075, 2081, 2086, 2093, 2096, 2099, 2102, 2105, 2108, 2112, 2115, 2118, 2121,
        2125, 2128, 2131, 2135, 2138, 2141, 2145, 2148, 2152, 2155, 2159, 2162, 2166, 2169, 2173, 2176, 2180, 2183, 2187,
        2190, 2194, 2197, 2201, 2205, 2208, 2212, 2215, 2219, 2223, 2226, 2230, 2234, 2237, 2241, 2245, 2249, 2252, 2256,
        2260, 2263, 2267, 2271, 2275, 2278, 2282, 2286, 2290, 2294, 2297, 2301, 2305, 2309, 2312, 2316, 2320, 2324, 2328,
        2331, 2335, 2339, 2343, 2346, 2350, 2354, 2358, 2362, 2365, 2369, 2373, 2377, 2380, 2384, 2388, 2392, 2395, 2399,
        2403, 2407, 2410, 2414, 2418, 2421, 2425, 2429, 2433, 2436, 2440, 2444, 2447, 2451, 2455, 2458, 2462, 2465, 2469,
        2473, 2476, 2480, 2483, 2487, 2490, 2494, 2497, 2501, 2504, 2508, 2511, 2515, 2518, 2522, 2525, 2528, 2532, 2535,
        2538, 2542, 2545, 2548, 2552, 2555, 2558, 2561, 2564, 2568, 2571, 2574, 2577, 2581, 2584, 2587, 2590, 2593, 2596,
        2600, 2603, 2606, 2609, 2612, 2615, 2619, 2622, 2625, 2628, 2631, 2634, 2637, 2640, 2643, 2646, 2650, 2653, 2656,
        2659, 2662, 2665, 2668, 2671, 2674, 2677, 2680, 2683, 2686, 2689, 2692, 2695, 2698, 2701, 2704, 2707, 2710, 2713,
        2716, 2719, 2722, 2725, 2728, 2731, 2734, 2736, 2739, 2742, 2745, 2748, 2751, 2754, 2757, 2760, 2763, 2765, 2768,
        2771, 2774, 2777, 2780, 2783, 2786, 2788, 2791, 2794, 2797, 2800, 2803, 2805, 2808, 2811, 2814, 2817, 2820, 2822,
        2825, 2828, 2831, 2834, 2836, 2839, 2842, 2845, 2847, 2850, 2853, 2856, 2858, 2861, 2864, 2867, 2869, 2872, 2875,
        2878, 2880, 2883, 2886, 2889, 2891, 2894, 2897, 2899, 2902, 2905, 2908, 2910, 2913, 2916, 2918, 2921, 2924, 2927,
        2929, 2932, 2935, 2937, 2940, 2943, 2945, 2948, 2950, 2953, 2956, 2958, 2961, 2964, 2966, 2969, 2971, 2974, 2976,
        2979, 2982, 2984, 2987, 2989, 2992, 2994, 2997, 3000, 3002, 3005, 3007, 3010, 3012, 3015, 3017, 3020, 3022, 3025,
        3027, 3030, 3032, 3035, 3037, 3039, 3042, 3044, 3047, 3049, 3052, 3054, 3057, 3059, 3062, 3064, 3066, 3069, 3071,
        3074, 3076, 3079, 3081, 3083, 3086, 3088, 3091, 3093, 3095, 3098, 3100, 3103, 3105, 3107, 3110, 3112, 3115, 3117,
        3119, 3122, 3124, 3126, 3129, 3131, 3133, 3136, 3138, 3141, 3143, 3145, 3148, 3150, 3152, 3155, 3157, 3159, 3162,
        3164, 3167, 3169, 3171, 3174, 3176, 3178, 3181, 3183, 3185, 3188, 3190, 3192, 3195, 3197, 3199, 3202, 3204, 3207,
        3209, 3211, 3214, 3216, 3218, 3221, 3223, 3225, 3228, 3230, 3232, 3235, 3237, 3240, 3242, 3244, 3247, 3249, 3251,
        3254, 3256, 3258, 3261, 3263, 3265, 3268, 3270, 3272, 3275, 3277, 3279, 3282, 3284, 3286, 3289, 3291, 3293, 3296,
        3298, 3300, 3303, 3305, 3307, 3310, 3312, 3314, 3316, 3319, 3321, 3323, 3326, 3328, 3330, 3333, 3335, 3337, 3339,
        3342, 3344, 3346, 3349, 3351, 3353, 3355, 3358, 3360, 3362, 3365, 3367, 3369, 3371, 3374, 3376, 3378, 3380, 3383,
        3385, 3387, 3390, 3392, 3394, 3396, 3399, 3401, 3403, 3405, 3408, 3410, 3412, 3414, 3417, 3419, 3421, 3423, 3426,
        3428, 3430, 3432, 3435, 3437, 3439, 3441, 3444, 3446, 3448, 3450, 3453, 3455, 3457, 3459, 3462, 3464, 3466, 3468,
        3471, 3473, 3475, 3477, 3480, 3482, 3484, 3486, 3489, 3491, 3493, 3495, 3498, 3500, 3502, 3504, 3507, 3509, 3511,
        3513, 3516, 3518, 3520, 3522, 3525, 3527, 3529, 3532, 3534, 3536, 3538, 3541, 3543, 3545, 3547, 3550, 3552, 3554,
        3556, 3559, 3561, 3563, 3565, 3568, 3570, 3572, 3574, 3576, 3579, 3581, 3583, 3585, 3588, 3590, 3592, 3594, 3597,
        3599, 3601, 3603, 3606, 3608, 3610, 3612, 3615, 3617, 3619, 3621, 3624, 3626, 3628, 3630, 3632, 3635, 3637, 3639,
        3641, 3644, 3646, 3648, 3650, 3653, 3655, 3657, 3659, 3662, 3664, 3666, 3668, 3670, 3673, 3675, 3677, 3679, 3682,
        3684, 3686, 3688, 3690, 3693, 3695, 3697, 3699, 3702, 3704, 3706, 3708, 3710, 3713, 3715, 3717, 3719, 3722, 3724,
        3726, 3728, 3730, 3733, 3735, 3737, 3739, 3741, 3744, 3746, 3748, 3750, 3753, 3755, 3757, 3759, 3761, 3764, 3766,
        3768, 3770, 3772, 3775, 3777, 3779, 3781, 3783, 3786, 3788, 3790, 3792, 3794, 3797, 3799, 3801, 3803, 3805, 3808,
        3810, 3812, 3814, 3817, 3819, 3821, 3823, 3825, 3827, 3830, 3832, 3834, 3836, 3838, 3841, 3843, 3845, 3847, 3849,
        3852, 3854, 3856, 3858, 3860, 3863, 3865, 3867, 3869, 3871, 3873, 3876, 3878, 3880, 3882, 3884, 3886, 3889, 3891,
        3893, 3895, 3897, 3900, 3902, 3904, 3906, 3908, 3910, 3913, 3915, 3917, 3919, 3921, 3923, 3926, 3928, 3930, 3932,
        3934, 3936, 3939, 3941, 3943, 3945, 3947, 3949, 3952, 3954, 3956, 3958, 3960, 3962, 3965, 3967, 3969, 3971, 3973,
        3975, 3978, 3980, 3982, 3984, 3986, 3988, 3991, 3993, 3995, 3997, 3999, 4001, 4004, 4006, 4008, 4010, 4012, 4014,
        4017, 4019, 4021, 4023, 4025, 4027, 4029, 4032, 4034, 4036, 4038, 4040, 4042, 4045, 4047, 4049, 4051, 4053, 4055,
        4058, 4060, 4062, 4064, 4066, 4068, 4071, 4073, 4075, 4077, 4079, 4081, 4084, 4086, 4088, 4090, 4092, 4095
    }
};

#ifdef CONFIG_HI_ISP_PREGAMMA_SUPPORT
static const ISP_CMOS_PREGAMMA_S g_stPreGamma = {
    0,
    {
        0,       12417,   21619,   29902,   37641,   44997,   52063,   58896,   65536,   72012,   78344,   84552,
        90647,   96641,   102544,  108363,  114105,  119775,  125379,  130921,  136406,  141835,  147213,  152542,
        157825,  163065,  168262,  173420,  178540,  183623,  188671,  193686,  198668,  203619,  208541,  213433,
        218298,  223136,  227947,  232734,  237496,  242234,  246949,  251642,  256313,  260962,  265592,  270201,
        274790,  279360,  283912,  288446,  292962,  297460,  301942,  306407,  310855,  315288,  319706,  324108,
        328495,  332868,  337226,  341571,  345901,  350218,  354522,  358813,  363091,  367356,  371609,  375850,
        380079,  384296,  388502,  392696,  396880,  401052,  405213,  409364,  413504,  417634,  421754,  425863,
        429963,  434053,  438134,  442205,  446266,  450319,  454362,  458396,  462422,  466438,  470446,  474446,
        478437,  482420,  486395,  490361,  494320,  498270,  502213,  506148,  510076,  513996,  517908,  521813,
        525711,  529601,  533485,  537361,  541231,  545093,  548949,  552798,  556640,  560475,  564305,  568127,
        571943,  575753,  579557,  583354,  587145,  590930,  594709,  598482,  602249,  606010,  609765,  613515,
        617259,  620997,  624729,  628456,  632178,  635894,  639604,  643309,  647009,  650704,  654393,  658077,
        661756,  665430,  669099,  672763,  676421,  680075,  683724,  687368,  691008,  694642,  698272,  701897,
        705517,  709133,  712744,  716351,  719953,  723550,  727143,  730732,  734316,  737896,  741471,  745043,
        748610,  752172,  755731,  759285,  762835,  766381,  769923,  773461,  776995,  780525,  784050,  787572,
        791090,  794604,  798114,  801620,  805123,  808622,  812116,  815608,  819095,  822579,  826059,  829535,
        833008,  836477,  839942,  843404,  846862,  850317,  853768,  857216,  860661,  864102,  867539,  870973,
        874404,  877831,  881255,  884676,  888093,  891507,  894918,  898326,  901730,  905131,  908529,  911924,
        915316,  918704,  922090,  925472,  928851,  932227,  935600,  938970,  942337,  945701,  949062,  952420,
        955775,  959127,  962477,  965823,  969166,  972507,  975845,  979179,  982511,  985840,  989167,  992490,
        995811,  999129,  1002444, 1005757, 1009067, 1012374, 1015678, 1018980, 1022279, 1025575, 1028869, 1032160,
        1035448, 1038734, 1042017, 1045298, 1048575
    }
};
#endif

#ifdef CONFIG_HI_ISP_EDGEMARK_SUPPORT
static const ISP_CMOS_EDGEMARK_S g_stIspEdgeMark = {
    0,        /* HI_BOOL bEnable */
    100,      /* HI_U8     u8Threshold */
    0xFF0000, /* HI_U32    u32Color */
};
#endif

#ifdef CONFIG_HI_ISP_HLC_SUPPORT
static const ISP_CMOS_HLC_S g_stIspHlc = {
    0,   /* HI_BOOL bEnable */
    248, /* HI_U8 u8LumaThr */
    10,  /* HI_U8 u8LumaTarget */
};
#endif

static const ISP_CMOS_SHARPEN_S g_stIspYuvSharpen = {
    /* u8SkinUmin */
    100,
    /* u8SkinVmin */
    135,
    /* u8SkinUmax */
    128,
    /* u8SkinVmax */
    150,
    /* Manual Para */
    {
        /* au8LumaWgt */
        {
            127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
            127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127
        },
        /* u16TextureStr */
        {
            400, 420, 390, 390, 390, 390, 390, 370, 350, 330, 310, 290, 270, 270, 270, 270,
            270, 270, 266, 260, 244, 230, 230, 230, 230, 230, 230, 210, 190, 190, 170, 150
        },
        /* u16EdgeStr */
        {
            120, 123, 125, 128, 130, 135, 140, 148, 160, 168, 180, 190, 200, 210, 210, 210,
            210, 210, 200, 190, 185, 175, 165, 160, 146, 136, 130, 128, 125, 123, 120, 120
        },
        /* u16TextureFreq */
        180,
        /* u16EdgeFreq */
        100,
        /* u8OverShoot */
        55,
        /* u8UnderShoot */
        70,
        /* u8shootSupStr */
        8,
        /* u8shootSupAdj */
        9,
        /* u8DetailCtrl */
        128,
        /* u8DetailCtrlThr */
        180,
        /* u8EdgeFiltStr */
        60,
        /* u8EdgeFiltMaxCap */
        18,
        /* u8RGain */
        28,
        /* u8GGain */
        32,
        /* u8BGain */
        31,
        /* u8SkinGain */
        23,
        /* u8MaxSharpGain */
        160
    },
    /* Auto Para */
    {
        /* au16LumaWgt */
        /* ISO */
        /* 100,    200,      400,     800,    1600,     3200,     6400,     12800,    25600,   51200,  102400,   204800,
           409600,   819200,   1638400,  3276800 */
        {
            { 127, 127, 127, 80, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
            { 127, 127, 127, 80, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
            { 127, 127, 127, 80, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
            { 127, 127, 127, 80, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
            { 127, 127, 127, 80, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
            { 127, 127, 127, 80, 70, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
            { 127, 127, 127, 80, 80, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72 },
            { 127, 127, 127, 90, 90, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85 },
            { 127, 127, 127, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 },
            { 127, 127, 127, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 110, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 90, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 }
        },
        /* au16TextureStr */
        /* ISO */
        /* 100,    200,      400,     800,    1600,     3200,     6400,     12800,    25600,   51200,  102400,   204800,
           409600,   819200,   1638400,  3276800 */
        {
            { 400, 320, 300, 220, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 },
            { 420, 410, 400, 270, 200, 200, 200, 200, 100, 100, 100, 100, 100, 100, 100, 100 },
            { 390, 390, 390, 420, 300, 300, 400, 300, 200, 200, 200, 200, 200, 200, 200, 200 },
            { 390, 380, 370, 390, 400, 350, 400, 300, 300, 300, 200, 200, 200, 200, 200, 200 },
            { 390, 370, 350, 370, 320, 350, 350, 400, 400, 400, 200, 200, 200, 200, 200, 200 },
            { 390, 360, 325, 340, 260, 300, 300, 400, 400, 400, 200, 200, 200, 200, 200, 200 },
            { 390, 350, 300, 300, 230, 300, 300, 400, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 370, 340, 300, 270, 230, 300, 300, 400, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 350, 330, 300, 270, 230, 300, 300, 400, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 330, 300, 285, 270, 230, 300, 300, 400, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 310, 290, 270, 270, 230, 300, 300, 300, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 290, 270, 270, 270, 230, 300, 300, 300, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 270, 270, 270, 270, 230, 300, 300, 300, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 270, 270, 270, 270, 230, 350, 350, 350, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 270, 270, 270, 270, 250, 400, 400, 400, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 270, 270, 270, 270, 270, 450, 450, 450, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 270, 270, 270, 270, 270, 500, 500, 500, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 270, 270, 270, 270, 270, 300, 500, 500, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 266, 266, 266, 266, 270, 300, 500, 500, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 260, 260, 260, 260, 270, 300, 500, 500, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 244, 244, 244, 244, 270, 300, 500, 500, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 240, 240, 240, 240, 270, 300, 500, 500, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 230, 230, 230, 230, 270, 300, 500, 500, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 230, 230, 230, 230, 270, 300, 500, 500, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 230, 230, 230, 230, 270, 300, 500, 500, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 230, 230, 230, 230, 250, 300, 500, 500, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 230, 230, 230, 230, 230, 300, 500, 500, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 230, 230, 230, 230, 230, 300, 500, 600, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 210, 230, 230, 230, 220, 300, 500, 600, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 190, 230, 230, 230, 220, 300, 500, 600, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 170, 230, 230, 230, 220, 300, 500, 600, 400, 400, 300, 300, 300, 300, 300, 300 },
            { 150, 230, 230, 230, 220, 300, 500, 600, 400, 400, 300, 300, 300, 300, 300, 300 }
        },
        /* au16EdgeStr */
        /* ISO */
        /* 100,    200,     400,      800,     1600,     3200,     6400,     12800,   25600,    51200,   102400,
           204800,   409600,   819200,   1638400,  3276800 */
        {
            { 350, 350, 350, 340, 200, 200, 200, 200, 200, 300, 300, 300, 300, 300, 300, 300 },
            { 350, 350, 350, 340, 200, 200, 200, 200, 200, 300, 300, 300, 300, 300, 300, 300 },
            { 350, 350, 350, 340, 200, 200, 200, 200, 200, 300, 300, 300, 300, 300, 300, 300 },
            { 356, 356, 356, 340, 200, 200, 200, 200, 200, 300, 300, 300, 300, 300, 300, 300 },
            { 360, 360, 360, 340, 200, 200, 200, 200, 200, 300, 300, 300, 300, 300, 300, 300 },
            { 370, 370, 370, 340, 220, 200, 200, 200, 200, 300, 300, 300, 300, 300, 300, 300 },
            { 375, 375, 375, 340, 240, 220, 220, 220, 220, 300, 300, 300, 300, 300, 300, 300 },
            { 390, 390, 390, 340, 260, 240, 220, 220, 220, 300, 300, 300, 300, 300, 300, 300 },
            { 410, 410, 410, 340, 280, 260, 220, 220, 220, 300, 300, 300, 300, 300, 300, 300 },
            { 440, 440, 440, 340, 300, 280, 220, 270, 300, 330, 330, 330, 330, 330, 330, 330 },
            { 446, 446, 446, 340, 320, 300, 220, 300, 350, 370, 370, 370, 370, 370, 370, 370 },
            { 450, 450, 450, 340, 340, 320, 220, 350, 400, 400, 400, 400, 400, 400, 400, 400 },
            { 450, 450, 450, 340, 340, 340, 220, 400, 450, 400, 400, 400, 400, 400, 400, 400 },
            { 450, 450, 450, 360, 340, 340, 240, 400, 500, 400, 400, 400, 400, 400, 400, 400 },
            { 450, 450, 450, 380, 340, 340, 260, 400, 500, 400, 400, 400, 400, 400, 400, 400 },
            { 450, 450, 450, 400, 360, 340, 280, 400, 500, 400, 400, 400, 400, 400, 400, 400 },
            { 450, 450, 450, 420, 380, 360, 300, 450, 500, 400, 400, 400, 400, 400, 400, 400 },
            { 446, 446, 446, 420, 400, 380, 300, 500, 500, 400, 400, 400, 400, 400, 400, 400 },
            { 440, 440, 440, 420, 420, 400, 300, 500, 500, 400, 400, 400, 400, 400, 400, 400 },
            { 430, 430, 430, 420, 420, 400, 300, 500, 500, 400, 400, 400, 400, 400, 400, 400 },
            { 410, 410, 410, 420, 420, 400, 300, 500, 500, 400, 400, 400, 400, 400, 400, 400 },
            { 380, 380, 380, 420, 420, 400, 300, 500, 500, 430, 430, 430, 430, 430, 430, 430 },
            { 340, 340, 340, 400, 420, 500, 300, 500, 500, 470, 470, 470, 470, 470, 470, 470 },
            { 290, 290, 290, 380, 400, 500, 300, 500, 500, 500, 500, 500, 500, 500, 500, 500 },
            { 250, 250, 250, 360, 380, 500, 300, 500, 500, 500, 500, 500, 500, 500, 500, 500 },
            { 220, 220, 220, 340, 360, 500, 300, 500, 500, 500, 500, 500, 500, 500, 500, 500 },
            { 200, 200, 200, 320, 360, 500, 300, 500, 500, 500, 500, 500, 500, 500, 500, 500 },
            { 190, 190, 190, 300, 340, 500, 300, 500, 500, 500, 500, 500, 500, 500, 500, 500 },
            { 186, 186, 186, 290, 310, 500, 300, 500, 500, 500, 500, 500, 500, 500, 500, 500 },
            { 180, 180, 180, 290, 270, 500, 300, 500, 500, 500, 500, 500, 500, 500, 500, 500 },
            { 170, 170, 170, 270, 260, 500, 300, 500, 500, 500, 500, 500, 500, 500, 500, 500 },
            { 150, 150, 150, 270, 250, 500, 300, 500, 500, 500, 500, 500, 500, 500, 500, 500 }
        },
        /* au16TextureFreq */
        /* ISO */
        /* 100,      200,    400,     800,    1600,      3200,    6400,     12800,     25600,  51200,   102400,  204800,
           409600,   819200,   1638400,  3276800 */
        { 180, 170, 160, 160, 160, 160, 128, 128, 128, 128, 128, 100, 100, 100, 100, 100 },
        /* au16EdgeFreq */
        /* ISO */
        /* 100,     200,    400,     800,      1600,      3200,    6400,     12800,       25600,      51200,  102400,
           204800,   409600,   819200,   1638400,  3276800 */
        { 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 96, 96, 96, 96, 96, 96 },
        /* au8OverShoot */
        /* ISO */
        /* 100,  200,    400,     800,      1600,    3200,       6400,    12800,    25600,   51200,  102400,  204800,
           409600,   819200,   1638400,  3276800 */
        { 55, 65, 80, 80, 75, 55, 40, 30, 30, 30, 30, 10, 10, 10, 10, 10 },
        /* au8UnderShoot */
        /* ISO */
        /* 100,  200,    400,     800,    1600,    3200,    6400,    12800,    25600,   51200,  102400,  204800,
           409600,   819200,   1638400,  3276800 */
        { 70, 80, 90, 90, 80, 70, 50, 50, 45, 45, 40, 20, 15, 15, 15, 15 },
        /* au8ShootSupStr */
        /* ISO */
        /* 100,    200,           400,           800,       1600,          3200,           6400,          12800,
           25600,         51200,  102400,  204800,   409600,   819200,   1638400,  3276800 */
        { 10, 10, 10, 10, 10, 10, 10, 9, 8, 0, 0, 0, 0, 0, 0, 0 },
        /* au8ShootSupAdj */
        /* ISO */
        /* 100,    200,           400,           800,       1600,          3200,           6400,          12800,
           25600,         51200,  102400,  204800,   409600,   819200,   1638400,  3276800 */
        { 9, 9, 9, 9, 9, 9, 9, 8, 8, 0, 0, 0, 0, 0, 0, 0 },
        /* au8DetailCtrl */
        /* ISO */
        /* 100,   200,     400,    800,     1600,     3200,          6400,         12800,         25600,      51200,
           102400,  204800,   409600,   819200,   1638400,  3276800 */
        { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 120, 120, 120, 120, 120, 120 },
        /* au8DetailCtrlThr */
        /* ISO */
        /* 100,    200,          400,           800,        1600,           3200,          6400,         12800, 25600,
           51200,  102400,  204800,   409600,   819200,   1638400,  3276800 */
        { 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160 },
        /* au8EdgeFiltStr */
        /* ISO */
        /* 100,   200,     400,    800,     1600,     3200,    6400,      12800,      25600,     51200,  102400,
           204800,   409600,   819200,   1638400,  3276800 */
        { 58, 58, 60, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62 },
        /* au8EdgeFiltMaxCap */
        { 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 },
        /* au8RGain */
        /* ISO */
        /* 100,    200,          400,           800,        1600,           3200,          6400,         12800, 25600,
           51200,  102400,  204800,   409600,   819200,   1638400,  3276800 */
        { 28, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
        /* au8GGain */
        /* ISO */
        /* 100,    200,          400,           800,        1600,           3200,          6400,         12800, 25600,
           51200,  102400,  204800,   409600,   819200,   1638400,  3276800 */
        { 40, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 },
        /* au8BGain */
        /* ISO */
        /* 100,    200,          400,           800,        1600,           3200,          6400,         12800, 25600,
           51200,  102400,  204800,   409600,   819200,   1638400,  3276800 */
        { 28, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
        /* au8SkinGain */
        /* ISO */
        /* 100,    200,          400,           800,        1600,           3200,          6400,         12800, 25600,
           51200,  102400,  204800,   409600,   819200,   1638400,  3276800 */
        { 23, 27, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31 },
        /* u8MaxSharpGain */
        /* ISO */
        /* 100,    200,          400,           800,        1600,           3200,          6400,         12800, 25600,
           51200,  102400,  204800,   409600,   819200,   1638400,  3276800 */
        { 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160 }
    },
};

static const ISP_CMOS_SHARPEN_S g_stIspYuvSharpenWdr = {
    /* u8SkinUmin */
    100,
    /* u8SkinVmin */
    135,
    /* u8SkinUmax */
    128,
    /* u8SkinVmax */
    150,
    /* Manual Para */
    {
        /* au8LumaWgt[ISP_SHARPEN_LUMA_NUM] */
        {
            127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
            127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127
        },
        /* u16TextureStr[ISP_SHARPEN_GAIN_NUM] */
        {
            250, 420, 390, 390, 390, 390, 390, 370, 350, 330, 310, 290, 270, 270, 270, 270,
            270, 270, 266, 260, 244, 230, 230, 230, 230, 230, 230, 210, 190, 190, 170, 150
        },
        /* u16EdgeStr[ISP_SHARPEN_GAIN_NUM] */
        {
            120, 123, 125, 128, 130, 135, 140, 148, 160, 168, 180, 190, 200, 210, 210, 210,
            210, 210, 200, 190, 185, 175, 165, 160, 146, 136, 130, 128, 125, 123, 120, 120
        },
        /* u16TextureFreq */
        190,
        /* u16EdgeFreq */
        128,
        /* u8OverShoot */
        65,
        /* u8UnderShoot */
        75,
        /* u8shootSupStr */
        7,
        /* u8shootSupAdj */
        9,
        /* u8DetailCtrl */
        128,
        /* u8DetailCtrlThr */
        180,
        /* u8EdgeFiltStr */
        60,
        /* u8EdgeFiltMaxCap */
        18,
        /* u8RGain */
        20,
        /* u8GGain */
        32,
        /* u8BGain */
        20,
        /* u8SkinGain */
        25,
        /* u8MaxSharpGain */
        40
    },
    /* Auto Para */
    {
        /* au16LumaWgt[ISP_SHARPEN_GAIN_NUM][ISP_AUTO_ISO_STRENGTH_NUM] */
        /* ISO: 100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400,
           3276800 */
        {
            { 127, 127, 127, 106, 95, 95, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73 },
            { 127, 127, 127, 110, 101, 101, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80 },
            { 127, 127, 127, 115, 108, 108, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88 },
            { 127, 127, 127, 119, 114, 114, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95 },
            { 127, 127, 127, 123, 119, 119, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102 },
            { 127, 127, 127, 125, 122, 122, 107, 107, 107, 107, 107, 107, 107, 107, 107, 107 },
            { 127, 127, 127, 126, 124, 124, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111 },
            { 127, 127, 127, 126, 125, 125, 115, 115, 115, 115, 115, 115, 115, 115, 115, 115 },
            { 127, 127, 127, 127, 127, 127, 119, 119, 119, 119, 119, 119, 119, 119, 119, 119 },
            { 127, 127, 127, 127, 127, 127, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121 },
            { 127, 127, 127, 127, 127, 127, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124 },
            { 127, 127, 127, 127, 127, 127, 125, 125, 125, 125, 125, 125, 125, 125, 125, 125 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 122, 122, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 116, 116, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 110, 110, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 104, 104, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 97, 97, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 91, 91, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 87, 87, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 },
            { 83, 83, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127 }
        },
        /* au16TextureStr[ISP_SHARPEN_GAIN_NUM][ISP_AUTO_ISO_STRENGTH_NUM] */
        /* ISO: 100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400,
           3276800 */
        {
            { 133, 133, 132, 117, 113, 127, 139, 139, 139, 148, 148, 148, 148, 148, 148, 148 },
            { 147, 147, 141, 128, 127, 152, 153, 153, 153, 163, 163, 163, 163, 163, 163, 163 },
            { 161, 161, 151, 139, 141, 176, 167, 167, 167, 178, 178, 178, 178, 178, 178, 178 },
            { 176, 176, 161, 151, 157, 201, 183, 183, 183, 193, 193, 193, 193, 193, 193, 193 },
            { 188, 188, 170, 162, 170, 220, 197, 197, 197, 205, 205, 205, 205, 205, 205, 205 },
            { 201, 201, 179, 174, 184, 240, 212, 212, 212, 218, 218, 218, 218, 218, 218, 218 },
            { 214, 214, 188, 187, 199, 259, 227, 227, 227, 230, 230, 230, 230, 230, 230, 230 },
            { 225, 225, 197, 199, 213, 275, 240, 240, 240, 241, 241, 241, 241, 241, 241, 241 },
            { 235, 235, 206, 210, 228, 287, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252 },
            { 244, 244, 216, 222, 244, 296, 263, 263, 263, 262, 262, 262, 262, 262, 262, 262 },
            { 252, 252, 225, 232, 259, 303, 273, 273, 273, 271, 271, 271, 271, 271, 271, 271 },
            { 259, 259, 233, 241, 272, 309, 281, 281, 281, 279, 279, 279, 279, 279, 279, 279 },
            { 265, 265, 240, 249, 284, 313, 288, 288, 288, 286, 286, 286, 286, 286, 286, 286 },
            { 271, 271, 247, 255, 294, 315, 293, 293, 293, 292, 292, 292, 292, 292, 292, 292 },
            { 275, 275, 252, 260, 303, 315, 297, 297, 297, 296, 296, 296, 296, 296, 296, 296 },
            { 277, 277, 256, 263, 309, 313, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300 },
            { 277, 277, 258, 265, 311, 309, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302 },
            { 276, 276, 258, 265, 311, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303 },
            { 274, 274, 256, 264, 308, 295, 303, 303, 303, 303, 303, 303, 303, 303, 303, 303 },
            { 271, 271, 255, 262, 304, 287, 302, 302, 302, 302, 302, 302, 302, 302, 302, 302 },
            { 267, 267, 253, 257, 298, 279, 301, 301, 301, 301, 301, 301, 301, 301, 301, 301 },
            { 262, 262, 250, 251, 291, 269, 299, 299, 299, 299, 299, 299, 299, 299, 299, 299 },
            { 256, 256, 246, 245, 282, 259, 295, 295, 295, 295, 295, 295, 295, 295, 295, 295 },
            { 248, 248, 240, 237, 272, 248, 291, 291, 291, 291, 291, 291, 291, 291, 291, 291 },
            { 238, 238, 231, 229, 260, 236, 284, 284, 284, 284, 284, 284, 284, 284, 284, 284 },
            { 226, 226, 220, 219, 246, 222, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276 },
            { 213, 213, 207, 209, 232, 208, 267, 267, 267, 267, 267, 267, 267, 267, 267, 267 },
            { 199, 199, 193, 197, 217, 194, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256 },
            { 183, 183, 177, 183, 202, 179, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243 },
            { 166, 166, 159, 168, 187, 163, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227 },
            { 148, 148, 143, 152, 171, 147, 211, 211, 211, 211, 211, 211, 211, 211, 211, 211 },
            { 131, 131, 131, 137, 156, 131, 195, 195, 195, 195, 195, 195, 195, 195, 195, 195 }
        },
        /* au16EdgeStr */
        /* ISO */
        /*   100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400, 3276800
         */
        {
            { 384, 384, 392, 409, 448, 429, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409 },
            { 384, 384, 392, 409, 448, 429, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409 },
            { 384, 384, 392, 409, 448, 429, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409 },
            { 384, 384, 392, 409, 448, 429, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409 },
            { 384, 384, 392, 409, 448, 429, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409 },
            { 383, 383, 392, 409, 448, 429, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409 },
            { 383, 383, 392, 409, 448, 429, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409 },
            { 383, 383, 392, 409, 448, 429, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409 },
            { 383, 383, 392, 409, 448, 429, 409, 409, 409, 409, 409, 409, 409, 409, 409, 409 },
            { 380, 380, 389, 407, 448, 429, 407, 407, 407, 407, 407, 407, 407, 407, 407, 407 },
            { 366, 366, 379, 400, 437, 414, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400 },
            { 349, 349, 367, 391, 425, 399, 391, 391, 391, 391, 391, 391, 391, 391, 391, 391 },
            { 338, 338, 355, 377, 423, 398, 377, 377, 377, 377, 377, 377, 377, 377, 377, 377 },
            { 329, 329, 344, 365, 423, 398, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365 },
            { 323, 323, 339, 365, 423, 397, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365 },
            { 320, 320, 337, 365, 421, 396, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365 },
            { 320, 320, 336, 365, 419, 395, 365, 365, 365, 365, 365, 365, 365, 365, 365, 365 },
            { 320, 320, 336, 365, 418, 395, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364 },
            { 320, 320, 336, 365, 417, 395, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364 },
            { 320, 320, 335, 365, 415, 395, 364, 364, 364, 364, 364, 364, 364, 364, 364, 364 },
            { 320, 320, 333, 362, 412, 393, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362 },
            { 318, 318, 329, 359, 407, 390, 359, 359, 359, 359, 359, 359, 359, 359, 359, 359 },
            { 314, 314, 323, 354, 401, 385, 354, 354, 354, 354, 354, 354, 354, 354, 354, 354 },
            { 308, 308, 313, 347, 392, 377, 347, 347, 347, 347, 347, 347, 347, 347, 347, 347 },
            { 298, 298, 300, 337, 380, 365, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337 },
            { 286, 286, 283, 324, 366, 351, 324, 324, 324, 324, 324, 324, 324, 324, 324, 324 },
            { 272, 272, 264, 309, 350, 334, 309, 309, 309, 309, 309, 309, 309, 309, 309, 309 },
            { 256, 256, 243, 292, 332, 315, 292, 292, 292, 292, 292, 292, 292, 292, 292, 292 },
            { 240, 240, 221, 275, 314, 296, 275, 275, 275, 275, 275, 275, 275, 275, 275, 275 },
            { 223, 223, 198, 257, 295, 276, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257 },
            { 206, 206, 177, 240, 277, 257, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240 },
            { 191, 191, 156, 224, 260, 239, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224 }
        },
        /* au16TextureFreq[ISP_AUTO_ISO_STRENGTH_NUM] */
        /* ISO */
        /* 100, 200, 400, 800, 1600, 3200, 6400, 12800, 25600, 51200, 102400, 204800, 409600, 819200, 1638400,3276800 */
        { 200, 180, 160, 140, 140, 130, 128, 128, 128, 128, 128, 100, 100, 100, 100, 100 },
        /* au16EdgeFreq[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 },
        /* au8OverShoot[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 60, 60, 65, 85, 85, 70, 65, 55, 50, 50, 30, 10, 10, 10, 10, 10 },
        /* au8UnderShoot[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 75, 75, 75, 85, 85, 80, 75, 70, 65, 55, 55, 55, 55, 15, 15, 15 },
        /* au8ShootSupStr[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
        /* au8ShootSupAdj[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 },
        /* au8DetailCtrl[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 128, 128, 128, 120, 120, 110, 110, 100, 90, 80, 70, 70, 70, 70, 70, 70 },
        /* au8DetailCtrlThr[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180, 180 },
        /* au8EdgeFiltStr[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60 },
        /* au8EdgeFiltMaxCap */
        { 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18 },
        /* au8RGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 },
        /* au8GGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32 },
        /* au8BGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20 },
        /* au8SkinGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25 },
        /* u8MaxSharpGain[ISP_AUTO_ISO_STRENGTH_NUM] */
        { 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40 }
    },
};

static AWB_CCM_S g_stAwbCcm = {
    4,
    {
        {
            6434,
            { 0x01CA, 0x80CA, 0x0000, 0x8008, 0x0180, 0x8078, 0x0002, 0x808C, 0x018A },
        },
        {
            5213,
            { 0x01D2, 0x80D6, 0x0004, 0x8016, 0x0174, 0x805E, 0x8005, 0x80A0, 0x01A5 },
        },
        {
            3100,
            { 0x01D5, 0x80D2, 0x8003, 0x8056, 0x01AB, 0x8055, 0x802B, 0x808D, 0x01B8 },
        },
        {
            2450,
            { 0x01D5, 0x80D2, 0x8003, 0x8056, 0x01AB, 0x8055, 0x802B, 0x808D, 0x01B8 },
        },
        {
            1600,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0100 },
        },
        {
            1400,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0100 },
        },
        {
            1000,
            { 0x0100, 0x0000, 0x0000, 0x0000, 0x0100, 0x0000, 0x0000, 0x0000, 0x0100 },
        },
    },
};

static AWB_AGC_TABLE_S g_stAwbAgcTable = {
    /* bvalid */
    1,

    /* 1,  2,  4,  8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16384, 32768 */
    /* saturation */
    { 0x80, 0x80, 0x7e, 0x72, 0x68, 0x60, 0x58, 0x50, 0x48, 0x40, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38 }
};

static const ISP_CMOS_WDR_S g_stIspWDR = {
    /* bFusionMode */
    0,

    /* bMotionComp */
    1,

    /* u16ShortThr */
    4032,

    /* u16LongThr */
    3008,

    /* bForceLong */
    1,

    /* u16ForceLongLowThr */
    500,

    /* u16ForceLongHigThr */
    700,

    /* bShortExpoChk */
    0,

    /* u8ShortCheckThd */
    0x8,

    /* bMDRefFlicker */
    1,

    /* au8MdThrLowGain[16] */
    { 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16 },

    /* au8MdThrHigGain[16] */
    { 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 },

    /* enBnrMode */
    1,

    /* au16FusionThr[2] */
    { 3855, 3000 },

    /* u8MdtStillThd */
    0x14,

    /* u8MdtLongBlend */
    0x0
};

static const ISP_CMOS_DEHAZE_S g_stIspDehaze = {
    /* bEnable */
    0,
    /* bUserLutEnable */
    0,
    /* enOpType */
    0,
    /* u8AutoStrength */
    128,
    /* u8ManualStrength */
    128

};

static const ISP_CMOS_DEHAZE_S g_stIspDehazeWDR = {
    /* bEnable */
    0,
    /* bUserLutEnable */
    1,
    /* enOpType */
    0,
    /* u8AutoStrength */
    100,
    /* u8ManualStrength */
    128
};

static const ISP_CMOS_DRC_S g_stIspDRC = {
    /* bEnable */
    0,
    /* enOpType */
    0,
    /* u16ManualStrength */
    200,
    /* u16AutoStrength */
    200,
    /* u8SpatialFltCoef */
    2,
    /* u8RangeFltCoef */
    2,
    /* u8ContrastControl */
    8,
    /* s8DetailAdjustFactor */
    8,
    /* u8RangeAdaMax */
    8,
    /* u8FltScaleFine */
    6,
    /* u8FltScaleCoarse */
    6,
    /* u8GradRevMax */
    64,
    /* u8GradRevThr */
    50,
    /* u8BrightGainLmt */
    15,
    /* u8BrightGainLmtStep */
    10,
    /* u8DarkGainLmtY */
    0,
    /* u8DarkGainLmtC */
    0,
    /* u8PDStrength */
    35,
    /* u8LocalMixingBrightMax */
    0,
    /* u8LocalMixingBrightMin */
    0,
    /* u8LocalMixingBrightThr */
    96,
    /* s8LocalMixingBrightSlo */
    -3,
    /* u8LocalMixingDarkMax */
    0,
    /* u8LocalMixingDarkMin */
    0,
    /* u8LocalMixingDarkThr */
    200,
    /* s8LocalMixingDarkSlo */
    5,
    /* ColorCorrectionLut[33] */
    {
        1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024,
        1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024
    },
    /* ToneMappingValue[200] */
    {
        8,     8,     16,    24,    31,    39,    48,    56,    65,    75,    85,    95,    106,   118,   130,   143,
        156,   170,   185,   201,   218,   235,   254,   274,   294,   316,   339,   364,   390,   417,   446,   477,
        509,   543,   579,   617,   658,   701,   746,   794,   844,   898,   955,   1015,  1078,  1145,  1216,  1291,
        1370,  1454,  1543,  1637,  1736,  1841,  1952,  2069,  2194,  2325,  2465,  2612,  2767,  2932,  3106,  3290,
        3485,  3691,  3909,  4140,  4384,  4641,  4914,  5202,  5507,  5830,  6171,  6531,  6913,  7316,  7742,  8193,
        8669,  9173,  9705,  10268, 10863, 11492, 12145, 12808, 13483, 14171, 14872, 15587, 16319, 17069, 17840, 18635,
        19458, 19881, 20313, 20754, 21204, 21661, 22122, 22586, 23053, 23525, 24000, 24480, 24965, 25455, 25950, 26451,
        26959, 27473, 27995, 28524, 29062, 29609, 30165, 30732, 31309, 31899, 32501, 33116, 33746, 34391, 35043, 35706,
        36381, 37066, 37763, 38472, 39192, 39925, 40671, 41429, 42201, 42591, 42986, 43383, 43784, 44189, 44597, 45008,
        45424, 45842, 46265, 46691, 47121, 47555, 47993, 48434, 48880, 49329, 49783, 50241, 50703, 51169, 51639, 52113,
        52592, 53075, 53564, 54056, 54552, 55054, 55560, 56071, 56586, 56846, 57107, 57369, 57632, 57896, 58162, 58429,
        58697, 58967, 59238, 59510, 59783, 60057, 60333, 60611, 60889, 61169, 61451, 61733, 62017, 62303, 62589, 62877,
        63167, 63458, 63750, 64044, 64340, 64636, 64934, 65234
    },
    /* u8Asymmetry */
    10,
    /* u8SecondPole */
    180,
    /* u8Stretch */
    54,
    /* u8Compress */
    180,
    /* u8CurveSel */
    0,
    /* au16Xpoint */
    { 0, 200, 400, 600, 1000 },
    /* au16Ypoint */
    { 0, 200, 400, 600, 1000 },
    /* au16Slope */
    { 1000, 1000, 1000, 1000, 1000 }
};

static const ISP_CMOS_DRC_S g_stIspDRCWDR = {
    /* bEnable */
    1,
    /* enOpType */
    0,
    /* u16ManualStrength */
    1023,
    /* u16AutoStrength */
    512,
    /* u8SpatialFltCoef */
    1,
    /* u8RangeFltCoef */
    2,
    /* u8ContrastControl */
    8,
    /* s8DetailAdjustFactor */
    8,
    /* u8RangeAdaMax */
    4,
    /* u8FltScaleFine */
    3,
    /* u8FltScaleCoarse */
    3,
    /* u8GradRevMax */
    30,
    /* u8GradRevThr */
    35,
    /* u8BrightGainLmt */
    15,
    /* u8BrightGainLmtStep */
    10,
    /* u8DarkGainLmtY */
    0,
    /* u8DarkGainLmtC */
    0,
    /* u8PDStrength */
    35,
    /* u8LocalMixingBrightMax */
    0,
    /* u8LocalMixingBrightMin */
    0,
    /* u8LocalMixingBrightThr */
    96,
    /* s8LocalMixingBrightSlo */
    -3,
    /* u8LocalMixingDarkMax */
    0,
    /* u8LocalMixingDarkMin */
    0,
    /* u8LocalMixingDarkThr */
    200,
    /* s8LocalMixingDarkSlo */
    5,
    /* ColorCorrectionLut[33] */
    {
        1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 772, 768, 764,
        760,  756,  752,  748,  744,  740,  736,  732,  728,  724,  720,  716,  712,  708,  704, 700
    },
    /* ToneMappingValue[200] */
    {
        8,     8,     16,    24,    31,    39,    48,    56,    65,    75,    85,    95,    106,   118,   130,   143,
        156,   170,   185,   201,   218,   235,   254,   274,   294,   316,   339,   364,   390,   417,   446,   477,
        509,   543,   579,   617,   658,   701,   746,   794,   844,   898,   955,   1015,  1078,  1145,  1216,  1291,
        1370,  1454,  1543,  1637,  1736,  1841,  1952,  2069,  2194,  2325,  2465,  2612,  2767,  2932,  3106,  3290,
        3485,  3691,  3909,  4140,  4384,  4641,  4914,  5202,  5507,  5830,  6171,  6531,  6913,  7316,  7742,  8193,
        8669,  9173,  9705,  10268, 10863, 11492, 12145, 12808, 13483, 14171, 14872, 15587, 16319, 17069, 17840, 18635,
        19458, 19881, 20313, 20754, 21204, 21661, 22122, 22586, 23053, 23525, 24000, 24480, 24965, 25455, 25950, 26451,
        26959, 27473, 27995, 28524, 29062, 29609, 30165, 30732, 31309, 31899, 32501, 33116, 33746, 34391, 35043, 35706,
        36381, 37066, 37763, 38472, 39192, 39925, 40671, 41429, 42201, 42591, 42986, 43383, 43784, 44189, 44597, 45008,
        45424, 45842, 46265, 46691, 47121, 47555, 47993, 48434, 48880, 49329, 49783, 50241, 50703, 51169, 51639, 52113,
        52592, 53075, 53564, 54056, 54552, 55054, 55560, 56071, 56586, 56846, 57107, 57369, 57632, 57896, 58162, 58429,
        58697, 58967, 59238, 59510, 59783, 60057, 60333, 60611, 60889, 61169, 61451, 61733, 62017, 62303, 62589, 62877,
        63167, 63458, 63750, 64044, 64340, 64636, 64934, 65234
    },
    /* u8Asymmetry */
    3,
    /* u8SecondPole */
    200,
    /* u8Stretch */
    45,
    /* u8Compress */
    200,
    /* u8CurveSel */
    0,
    /* au16Xpoint */
    { 0, 200, 400, 600, 1000 },
    /* au16Ypoint */
    { 0, 200, 400, 600, 1000 },
    /* au16Slope */
    { 1000, 1000, 1000, 1000, 1000 }
};

#ifdef CONFIG_HI_ISP_CA_SUPPORT
static const ISP_CMOS_CA_S g_stIspCA = {
    /* CA */
    1,
    /* Y */
    {
        36,   81,   111,  136,  158,  182,  207,  228,  259,  290,  317,  345,  369,  396, 420, 444, 468,  492,  515,
        534,  556,  574,  597,  614,  632,  648,  666,  681,  697,  709,  723,  734,  748, 758, 771, 780,  788,  800,
        808,  815,  822,  829,  837,  841,  848,  854,  858,  864,  868,  871,  878,  881, 885, 890, 893,  897,  900,
        903,  906,  909,  912,  915,  918,  921,  924,  926,  929,  931,  934,  936,  938, 941, 943, 945,  947,  949,
        951,  952,  954,  956,  958,  961,  962,  964,  966,  968,  969,  970,  971,  973, 974, 976, 977,  979,  980,
        981,  983,  984,  985,  986,  988,  989,  990,  991,  992,  993,  995,  996,  997, 998, 999, 1000, 1001, 1004,
        1005, 1006, 1007, 1009, 1010, 1011, 1012, 1014, 1016, 1017, 1019, 1020, 1022, 1024
    },
    /* ISO */
    { 1300, 1300, 1250, 1200, 1150, 1100, 1050, 1000, 950, 900, 900, 800, 800, 800, 800, 800 }
};
#endif

static const ISP_CMOS_LSC_S g_stCmosLsc = {
    /* MeshStrength */
    4096,
    /* MeshScale */
    1,
    /* ISP_LSC_CABLI_TABLE_S */
    {
        {
            /* Rgain */
            {
                459, 430, 407, 387, 371, 353, 340, 332, 324, 313, 306, 301, 297, 293, 292, 291, 291, 292, 293, 299, 303,
                306, 312, 324, 330, 342, 355, 369, 385, 405, 430, 459, 486, 446, 425, 402, 384, 365, 352, 337, 328, 318,
                308, 303, 297, 293, 290, 287, 286, 288, 288, 291, 294, 296, 303, 310, 318, 328, 340, 351, 364, 381, 402,
                422, 450, 484, 436, 417, 394, 374, 356, 343, 329, 320, 312, 303, 295, 292, 287, 283, 282, 281, 280, 281,
                283, 288, 291, 295, 303, 311, 322, 334, 343, 357, 371, 391, 414, 440, 482, 426, 407, 385, 365, 349, 335,
                323, 315, 305, 296, 290, 285, 281, 277, 275, 274, 275, 275, 278, 281, 285, 290, 296, 303, 314, 325, 338,
                351, 367, 385, 403, 429, 467, 418, 399, 379, 358, 343, 329, 317, 308, 300, 292, 285, 280, 275, 273, 272,
                271, 270, 272, 274, 276, 279, 284, 293, 300, 310, 318, 332, 343, 358, 376, 398, 421, 449, 414, 395, 371,
                354, 339, 327, 312, 305, 295, 289, 282, 276, 273, 269, 267, 267, 267, 268, 269, 274, 276, 282, 288, 293,
                305, 315, 326, 338, 353, 370, 390, 415, 438, 407, 392, 369, 351, 337, 324, 312, 302, 293, 285, 280, 274,
                270, 267, 266, 265, 265, 266, 267, 273, 274, 279, 285, 291, 301, 312, 323, 336, 350, 367, 387, 409, 434,
                404, 386, 365, 350, 334, 321, 310, 299, 291, 283, 277, 273, 269, 266, 265, 264, 264, 265, 267, 269, 272,
                277, 282, 290, 301, 310, 321, 335, 349, 365, 386, 410, 433, 403, 385, 365, 344, 332, 321, 307, 296, 289,
                282, 275, 271, 267, 265, 264, 265, 265, 265, 266, 268, 271, 274, 281, 286, 299, 306, 321, 332, 347, 364,
                381, 408, 427, 402, 384, 362, 345, 329, 317, 305, 295, 290, 280, 274, 270, 267, 266, 264, 264, 264, 264,
                265, 268, 270, 274, 280, 286, 295, 305, 317, 329, 343, 361, 380, 408, 430, 398, 379, 361, 343, 328, 315,
                304, 293, 285, 278, 272, 268, 266, 265, 264, 264, 264, 264, 266, 267, 268, 272, 279, 285, 295, 304, 315,
                328, 342, 358, 378, 404, 425, 395, 378, 356, 339, 326, 313, 302, 293, 282, 276, 271, 267, 266, 264, 262,
                262, 263, 263, 264, 265, 267, 271, 276, 282, 292, 302, 315, 326, 340, 357, 375, 396, 422, 392, 376, 355,
                337, 323, 310, 299, 290, 281, 275, 269, 266, 264, 262, 260, 260, 260, 259, 264, 265, 267, 270, 274, 281,
                290, 301, 310, 323, 337, 352, 371, 391, 414, 390, 371, 352, 335, 321, 310, 299, 286, 279, 272, 266, 265,
                264, 259, 258, 257, 258, 259, 259, 262, 265, 266, 271, 276, 286, 296, 306, 321, 334, 349, 368, 389, 407,
                387, 368, 350, 334, 318, 306, 295, 286, 276, 271, 266, 263, 263, 259, 258, 256, 257, 257, 259, 261, 264,
                266, 271, 276, 286, 293, 305, 318, 332, 348, 366, 388, 404, 386, 369, 349, 332, 317, 305, 293, 283, 274,
                269, 265, 263, 260, 258, 257, 256, 256, 257, 258, 260, 263, 266, 269, 276, 285, 293, 305, 317, 333, 347,
                366, 386, 405, 387, 369, 349, 334, 318, 305, 295, 284, 276, 269, 266, 264, 259, 259, 257, 257, 257, 257,
                258, 260, 264, 266, 270, 275, 283, 293, 305, 317, 332, 348, 365, 387, 410, 385, 370, 350, 334, 320, 308,
                295, 286, 278, 270, 266, 265, 262, 260, 258, 258, 257, 259, 260, 262, 264, 266, 271, 276, 286, 294, 306,
                317, 332, 349, 368, 389, 412, 389, 371, 352, 335, 321, 309, 296, 286, 279, 269, 268, 265, 264, 262, 259,
                259, 258, 258, 261, 264, 265, 269, 271, 279, 286, 296, 310, 321, 332, 350, 366, 390, 410, 391, 374, 354,
                337, 322, 311, 299, 286, 281, 270, 269, 266, 264, 263, 262, 261, 260, 260, 264, 264, 266, 269, 273, 280,
                289, 299, 310, 322, 336, 353, 369, 395, 415, 395, 376, 357, 340, 324, 310, 301, 291, 282, 271, 269, 267,
                265, 264, 263, 262, 262, 263, 264, 266, 268, 271, 274, 281, 292, 301, 312, 324, 339, 355, 375, 395, 414,
                395, 378, 355, 342, 326, 313, 301, 291, 282, 272, 269, 268, 265, 265, 265, 262, 262, 263, 265, 267, 268,
                273, 275, 282, 291, 301, 312, 325, 339, 356, 373, 397, 418, 397, 378, 357, 342, 326, 315, 303, 292, 283,
                272, 267, 268, 266, 265, 264, 264, 263, 265, 265, 266, 267, 271, 276, 283, 293, 303, 313, 325, 341, 355,
                376, 398, 418, 398, 380, 358, 343, 328, 315, 303, 293, 283, 274, 271, 267, 266, 264, 265, 264, 264, 264,
                264, 266, 268, 272, 276, 283, 293, 302, 313, 326, 341, 359, 378, 399, 422, 397, 381, 361, 343, 328, 315,
                303, 294, 284, 276, 271, 268, 266, 265, 264, 263, 262, 264, 264, 266, 268, 271, 277, 285, 293, 303, 314,
                327, 343, 358, 379, 401, 422, 402, 384, 362, 346, 330, 318, 307, 296, 288, 280, 274, 268, 267, 265, 265,
                265, 265, 265, 267, 268, 268, 274, 280, 286, 295, 305, 316, 330, 346, 362, 380, 403, 425, 412, 388, 367,
                351, 335, 322, 312, 301, 291, 283, 276, 272, 270, 267, 267, 266, 266, 273, 268, 270, 273, 278, 283, 291,
                299, 309, 321, 334, 349, 365, 386, 412, 436, 417, 396, 374, 358, 341, 328, 315, 305, 295, 288, 282, 279,
                274, 271, 270, 269, 268, 269, 270, 274, 275, 282, 288, 295, 303, 314, 326, 338, 354, 371, 390, 415, 440,
                418, 403, 381, 362, 347, 332, 321, 310, 301, 293, 285, 281, 276, 275, 274, 273, 271, 273, 275, 276, 282,
                286, 293, 301, 308, 320, 332, 343, 363, 379, 398, 425, 449, 429, 408, 388, 368, 352, 338, 326, 315, 306,
                299, 292, 286, 282, 281, 276, 275, 276, 276, 279, 282, 286, 292, 297, 308, 315, 324, 336, 351, 365, 386,
                405, 436, 456, 440, 417, 395, 374, 357, 346, 332, 321, 312, 304, 296, 294, 286, 283, 281, 281, 281, 282,
                283, 285, 291, 296, 303, 312, 321, 333, 343, 356, 373, 392, 415, 441, 464, 443, 425, 399, 381, 364, 350,
                338, 325, 318, 309, 301, 295, 291, 288, 285, 285, 285, 285, 286, 291, 295, 301, 307, 316, 324, 337, 348,
                363, 379, 399, 419, 447, 479, 452, 425, 405, 385, 368, 351, 341, 328, 317, 309, 303, 299, 294, 291, 286,
                288, 285, 288, 289, 293, 298, 303, 311, 318, 327, 337, 349, 365, 382, 402, 425, 456, 482,
            },

            /* Grgain */
            {
                425, 404, 384, 369, 354, 340, 331, 319, 311, 306, 299, 295, 290, 289, 286, 285, 286, 286, 288, 290, 293,
                298, 306, 311, 320, 330, 339, 352, 367, 382, 401, 424, 454, 417, 398, 379, 363, 347, 335, 324, 316, 307,
                301, 295, 290, 287, 284, 283, 281, 282, 283, 284, 286, 290, 295, 300, 307, 316, 326, 335, 347, 361, 376,
                395, 418, 446, 409, 390, 371, 355, 341, 327, 318, 309, 302, 294, 289, 286, 283, 278, 278, 276, 277, 278,
                279, 282, 285, 289, 294, 301, 311, 320, 330, 340, 354, 368, 386, 405, 446, 400, 382, 363, 347, 333, 323,
                311, 304, 297, 290, 284, 280, 276, 274, 273, 272, 272, 272, 274, 276, 279, 284, 289, 295, 304, 314, 322,
                333, 347, 362, 380, 401, 437, 393, 373, 356, 343, 330, 318, 308, 299, 293, 285, 279, 275, 272, 269, 269,
                268, 269, 268, 271, 272, 275, 279, 284, 290, 299, 308, 318, 329, 342, 356, 373, 392, 419, 390, 368, 352,
                338, 324, 314, 304, 296, 288, 283, 276, 273, 269, 266, 266, 264, 264, 265, 268, 270, 272, 277, 282, 288,
                295, 304, 313, 324, 337, 351, 368, 389, 409, 385, 366, 348, 335, 323, 311, 301, 293, 285, 280, 274, 270,
                267, 264, 264, 264, 264, 263, 267, 269, 270, 273, 278, 284, 292, 301, 311, 321, 334, 349, 365, 384, 405,
                380, 364, 347, 333, 320, 309, 301, 290, 284, 278, 272, 269, 265, 264, 263, 262, 262, 264, 265, 267, 269,
                273, 277, 283, 290, 300, 308, 321, 331, 347, 363, 381, 403, 379, 361, 346, 332, 319, 307, 299, 289, 283,
                276, 272, 268, 265, 262, 262, 262, 263, 264, 265, 266, 266, 270, 275, 280, 289, 298, 307, 318, 331, 345,
                361, 383, 400, 377, 360, 343, 329, 318, 306, 297, 288, 283, 273, 269, 266, 264, 263, 262, 263, 262, 263,
                264, 265, 266, 269, 275, 280, 289, 295, 307, 317, 328, 343, 359, 382, 402, 375, 357, 341, 327, 315, 305,
                295, 287, 280, 273, 268, 265, 265, 263, 263, 261, 262, 263, 264, 264, 266, 269, 273, 278, 287, 295, 307,
                317, 327, 340, 355, 378, 400, 371, 355, 339, 325, 313, 302, 293, 284, 275, 271, 268, 264, 264, 262, 260,
                261, 260, 261, 262, 264, 265, 267, 271, 277, 285, 292, 304, 313, 326, 339, 354, 373, 393, 369, 352, 337,
                322, 310, 301, 290, 282, 275, 269, 265, 263, 261, 260, 260, 260, 260, 260, 261, 263, 264, 265, 269, 275,
                283, 290, 300, 309, 323, 336, 352, 369, 391, 364, 349, 334, 321, 308, 298, 289, 280, 273, 268, 263, 261,
                260, 259, 259, 258, 258, 258, 259, 261, 262, 264, 268, 272, 280, 289, 297, 308, 320, 334, 350, 367, 382,
                364, 347, 332, 319, 306, 296, 286, 278, 272, 266, 262, 260, 260, 259, 257, 256, 256, 258, 258, 260, 261,
                264, 266, 272, 280, 286, 296, 307, 319, 332, 347, 363, 384, 362, 346, 331, 317, 305, 295, 286, 279, 269,
                265, 262, 261, 259, 257, 258, 256, 256, 257, 259, 259, 261, 262, 265, 271, 278, 285, 295, 305, 318, 331,
                347, 364, 382, 363, 347, 331, 319, 306, 295, 286, 278, 270, 265, 262, 260, 259, 259, 257, 256, 257, 259,
                259, 260, 261, 263, 266, 272, 278, 286, 295, 306, 318, 332, 346, 365, 384, 364, 347, 333, 319, 307, 295,
                286, 278, 272, 266, 264, 262, 260, 259, 259, 257, 258, 259, 260, 261, 263, 264, 266, 272, 279, 287, 295,
                307, 320, 333, 348, 364, 385, 366, 350, 334, 321, 308, 300, 288, 280, 273, 265, 264, 263, 261, 261, 260,
                259, 259, 260, 260, 262, 264, 265, 268, 274, 280, 288, 298, 307, 321, 335, 350, 368, 385, 368, 353, 338,
                323, 311, 300, 289, 283, 275, 265, 265, 264, 263, 263, 261, 260, 260, 261, 262, 263, 264, 267, 270, 274,
                282, 290, 301, 311, 323, 338, 353, 371, 390, 371, 353, 338, 324, 313, 302, 291, 283, 276, 266, 266, 265,
                264, 264, 263, 262, 261, 262, 263, 264, 265, 268, 270, 276, 284, 293, 301, 313, 324, 338, 354, 373, 390,
                374, 356, 338, 326, 313, 302, 293, 283, 277, 267, 265, 265, 264, 264, 264, 262, 262, 262, 264, 265, 266,
                268, 272, 277, 285, 293, 302, 314, 325, 341, 356, 374, 393, 374, 357, 340, 326, 314, 303, 292, 285, 278,
                269, 264, 265, 264, 264, 264, 264, 263, 263, 263, 264, 265, 269, 272, 278, 285, 294, 303, 315, 327, 341,
                356, 375, 395, 375, 357, 340, 327, 315, 304, 294, 284, 277, 270, 266, 265, 264, 263, 262, 262, 262, 262,
                263, 264, 266, 268, 272, 279, 285, 294, 304, 315, 326, 341, 356, 376, 393, 377, 359, 342, 327, 316, 303,
                294, 285, 278, 272, 268, 265, 264, 263, 262, 261, 263, 262, 263, 264, 265, 268, 272, 279, 287, 295, 306,
                316, 330, 342, 359, 376, 400, 379, 361, 345, 331, 318, 307, 296, 288, 282, 274, 270, 267, 264, 264, 263,
                262, 264, 264, 264, 264, 266, 270, 275, 280, 289, 297, 306, 318, 329, 344, 362, 380, 399, 381, 364, 347,
                334, 321, 311, 300, 291, 283, 278, 273, 269, 266, 265, 265, 264, 264, 271, 266, 266, 269, 272, 278, 284,
                291, 299, 309, 321, 334, 348, 365, 385, 404, 389, 370, 352, 339, 325, 314, 303, 295, 288, 281, 277, 273,
                269, 266, 267, 265, 266, 267, 268, 269, 272, 276, 281, 288, 295, 304, 313, 326, 339, 354, 371, 391, 413,
                393, 376, 358, 343, 330, 318, 308, 299, 291, 285, 280, 276, 273, 271, 269, 269, 268, 270, 270, 273, 276,
                280, 286, 293, 300, 308, 318, 331, 344, 359, 376, 399, 419, 403, 382, 364, 348, 337, 325, 313, 304, 296,
                290, 284, 281, 278, 274, 273, 273, 272, 273, 274, 277, 281, 285, 290, 297, 305, 314, 324, 336, 350, 366,
                384, 405, 428, 412, 390, 371, 354, 342, 328, 318, 309, 301, 294, 288, 287, 280, 278, 277, 275, 277, 277,
                279, 282, 284, 289, 295, 301, 309, 318, 331, 342, 355, 372, 389, 412, 435, 415, 395, 375, 361, 345, 334,
                324, 313, 305, 300, 293, 288, 285, 283, 280, 279, 279, 280, 282, 285, 289, 293, 299, 306, 314, 324, 334,
                347, 361, 377, 396, 421, 446, 422, 401, 381, 364, 351, 338, 327, 317, 307, 301, 295, 292, 288, 286, 284,
                283, 283, 284, 285, 289, 293, 296, 301, 309, 317, 327, 338, 352, 366, 384, 401, 425, 455,
            },

            /* Gbgain */
            {
                427, 404, 384, 369, 354, 341, 329, 318, 311, 305, 299, 295, 290, 288, 286, 284, 285, 285, 287, 291, 292,
                298, 302, 310, 319, 328, 337, 349, 363, 377, 398, 423, 448, 420, 399, 379, 363, 348, 336, 325, 315, 308,
                300, 294, 290, 286, 284, 281, 280, 281, 281, 283, 286, 289, 292, 298, 305, 314, 322, 333, 344, 357, 373,
                391, 415, 443, 411, 391, 370, 355, 340, 328, 319, 309, 302, 295, 289, 284, 281, 279, 276, 276, 275, 276,
                277, 280, 284, 287, 292, 298, 308, 319, 328, 337, 350, 365, 383, 406, 441, 404, 383, 364, 347, 334, 323,
                313, 304, 297, 289, 283, 280, 276, 273, 272, 271, 271, 272, 274, 275, 278, 282, 289, 294, 302, 312, 321,
                332, 344, 358, 376, 396, 435, 393, 375, 357, 342, 330, 318, 308, 298, 292, 285, 279, 276, 272, 269, 268,
                267, 266, 267, 269, 271, 274, 279, 283, 289, 297, 306, 315, 327, 340, 355, 370, 391, 414, 391, 370, 352,
                338, 327, 315, 304, 296, 287, 282, 276, 273, 269, 266, 265, 264, 264, 264, 267, 268, 271, 275, 280, 285,
                294, 302, 310, 322, 335, 350, 366, 386, 406, 385, 367, 350, 335, 323, 312, 302, 292, 285, 280, 275, 270,
                266, 264, 263, 262, 262, 262, 265, 267, 269, 272, 277, 282, 291, 299, 308, 320, 332, 347, 364, 382, 403,
                383, 365, 348, 333, 321, 308, 300, 291, 284, 278, 273, 268, 265, 264, 261, 262, 261, 262, 264, 266, 266,
                271, 275, 281, 289, 296, 306, 316, 328, 344, 360, 379, 400, 378, 362, 347, 332, 319, 308, 297, 290, 282,
                276, 271, 266, 265, 261, 262, 261, 262, 262, 262, 264, 266, 270, 274, 278, 288, 296, 306, 315, 327, 343,
                358, 380, 398, 379, 362, 344, 332, 318, 307, 296, 289, 283, 274, 269, 266, 264, 262, 262, 261, 262, 261,
                262, 264, 265, 268, 274, 278, 286, 295, 304, 315, 325, 340, 356, 380, 397, 376, 358, 341, 328, 315, 306,
                296, 286, 281, 272, 268, 266, 264, 262, 262, 261, 261, 261, 262, 263, 265, 267, 271, 276, 285, 292, 303,
                314, 325, 340, 355, 377, 397, 373, 356, 340, 327, 315, 305, 294, 285, 276, 271, 266, 264, 262, 262, 261,
                261, 260, 261, 262, 262, 265, 266, 271, 275, 284, 291, 301, 313, 322, 337, 352, 370, 393, 370, 355, 337,
                322, 312, 301, 292, 282, 275, 269, 266, 263, 261, 261, 260, 259, 258, 259, 260, 261, 263, 265, 269, 274,
                280, 289, 298, 309, 321, 336, 350, 368, 385, 367, 350, 333, 321, 309, 299, 289, 280, 273, 266, 263, 262,
                260, 260, 257, 257, 257, 258, 258, 260, 262, 262, 266, 271, 279, 286, 296, 306, 318, 332, 348, 365, 383,
                366, 349, 332, 319, 308, 296, 286, 278, 271, 266, 261, 260, 260, 258, 257, 256, 256, 257, 257, 258, 261,
                262, 265, 270, 278, 285, 294, 305, 316, 330, 345, 363, 381, 365, 349, 332, 319, 306, 296, 286, 276, 270,
                265, 262, 261, 258, 257, 257, 256, 256, 256, 257, 259, 260, 262, 264, 270, 276, 285, 293, 303, 315, 329,
                344, 363, 381, 364, 348, 332, 319, 307, 296, 286, 278, 271, 266, 262, 262, 260, 257, 257, 257, 256, 257,
                258, 260, 261, 262, 265, 269, 276, 285, 293, 304, 315, 329, 345, 361, 381, 366, 350, 334, 320, 308, 297,
                287, 279, 272, 265, 264, 262, 261, 259, 257, 257, 257, 258, 259, 260, 262, 264, 266, 270, 277, 286, 294,
                305, 316, 332, 347, 363, 382, 369, 351, 336, 322, 309, 297, 289, 280, 274, 265, 264, 263, 261, 260, 260,
                259, 259, 260, 260, 262, 264, 265, 266, 273, 279, 287, 296, 307, 318, 332, 347, 367, 386, 370, 355, 337,
                323, 312, 301, 290, 283, 275, 266, 266, 264, 262, 261, 260, 260, 260, 260, 261, 263, 263, 266, 269, 274,
                281, 290, 298, 308, 321, 335, 350, 368, 386, 373, 355, 338, 326, 312, 302, 291, 282, 276, 266, 266, 265,
                263, 262, 261, 261, 261, 262, 262, 263, 265, 267, 269, 275, 282, 290, 300, 310, 322, 336, 353, 370, 388,
                374, 357, 340, 326, 314, 303, 292, 284, 276, 266, 265, 266, 264, 264, 262, 262, 261, 262, 262, 265, 265,
                267, 270, 276, 283, 291, 299, 312, 322, 338, 354, 371, 391, 377, 357, 341, 327, 315, 304, 294, 285, 277,
                268, 264, 265, 264, 262, 262, 262, 262, 261, 262, 265, 265, 266, 271, 276, 284, 291, 301, 312, 324, 340,
                355, 373, 391, 375, 357, 342, 328, 316, 304, 292, 285, 276, 270, 266, 265, 264, 262, 262, 261, 261, 262,
                261, 263, 265, 266, 271, 276, 284, 292, 302, 313, 326, 338, 356, 373, 393, 376, 360, 343, 329, 316, 305,
                295, 286, 280, 273, 267, 265, 264, 262, 262, 261, 261, 261, 262, 263, 265, 266, 272, 278, 286, 293, 303,
                314, 326, 340, 356, 376, 396, 381, 362, 346, 332, 319, 308, 297, 288, 281, 275, 269, 266, 265, 263, 262,
                262, 261, 262, 265, 264, 266, 269, 274, 281, 286, 295, 305, 315, 328, 344, 358, 377, 399, 385, 367, 350,
                335, 322, 312, 300, 290, 285, 277, 273, 269, 266, 265, 265, 264, 264, 269, 265, 266, 268, 272, 277, 283,
                290, 297, 308, 320, 332, 347, 364, 383, 403, 391, 373, 354, 339, 327, 315, 304, 295, 287, 281, 276, 272,
                269, 266, 267, 266, 266, 265, 266, 269, 271, 276, 281, 287, 294, 301, 312, 323, 336, 351, 368, 389, 413,
                398, 377, 360, 345, 333, 319, 309, 300, 292, 285, 280, 275, 272, 270, 269, 268, 267, 269, 270, 271, 275,
                279, 285, 291, 298, 307, 316, 328, 341, 356, 374, 395, 418, 406, 384, 367, 350, 336, 325, 314, 304, 296,
                290, 284, 280, 276, 274, 273, 272, 272, 272, 274, 276, 279, 284, 289, 295, 303, 312, 322, 334, 348, 364,
                382, 404, 426, 412, 391, 372, 356, 341, 329, 319, 310, 301, 295, 288, 287, 280, 278, 276, 275, 275, 275,
                277, 280, 284, 288, 294, 301, 309, 318, 328, 339, 353, 368, 387, 411, 434, 418, 396, 379, 361, 348, 335,
                324, 314, 306, 299, 292, 289, 285, 281, 280, 279, 278, 280, 281, 284, 287, 291, 298, 304, 312, 321, 332,
                344, 359, 374, 394, 418, 443, 425, 402, 383, 367, 352, 340, 328, 318, 309, 302, 296, 290, 287, 286, 282,
                282, 281, 282, 284, 287, 291, 296, 301, 306, 315, 327, 336, 348, 365, 381, 400, 424, 448,
            },

            /* Bgain */
            {
                400, 385, 366, 349, 339, 327, 317, 311, 302, 297, 295, 289, 287, 282, 279, 281, 280, 281, 283, 285, 287,
                292, 301, 305, 312, 322, 329, 340, 352, 368, 387, 408, 426, 394, 377, 363, 349, 336, 324, 314, 307, 301,
                295, 290, 285, 280, 279, 278, 277, 276, 278, 279, 281, 285, 290, 296, 301, 308, 319, 327, 337, 350, 365,
                384, 404, 427, 387, 372, 354, 341, 328, 316, 307, 301, 296, 288, 284, 280, 276, 274, 274, 271, 272, 274,
                276, 277, 280, 285, 290, 297, 304, 313, 322, 330, 343, 356, 372, 391, 424, 381, 361, 350, 332, 321, 312,
                304, 297, 291, 285, 279, 276, 271, 269, 269, 268, 268, 268, 271, 273, 275, 279, 285, 290, 299, 306, 316,
                324, 338, 351, 366, 385, 416, 373, 358, 341, 328, 316, 309, 300, 291, 286, 279, 276, 272, 270, 267, 263,
                265, 265, 265, 267, 268, 272, 275, 280, 285, 293, 303, 311, 322, 330, 344, 359, 377, 396, 367, 353, 337,
                325, 314, 306, 296, 290, 283, 279, 274, 269, 266, 263, 263, 261, 262, 261, 265, 266, 269, 273, 277, 284,
                290, 300, 307, 316, 328, 340, 355, 374, 392, 365, 352, 336, 322, 311, 303, 296, 287, 280, 276, 271, 267,
                264, 261, 261, 261, 261, 261, 263, 267, 268, 272, 276, 283, 289, 297, 304, 314, 325, 339, 354, 372, 387,
                361, 350, 336, 323, 311, 301, 295, 286, 280, 276, 269, 266, 262, 260, 260, 259, 259, 261, 264, 265, 266,
                271, 276, 281, 288, 296, 306, 312, 324, 339, 354, 372, 388, 359, 346, 335, 321, 310, 302, 293, 286, 279,
                274, 268, 265, 263, 260, 261, 261, 260, 262, 263, 265, 265, 268, 274, 279, 287, 295, 304, 312, 323, 338,
                351, 370, 385, 359, 345, 331, 320, 308, 299, 292, 285, 279, 273, 268, 264, 262, 262, 261, 260, 261, 262,
                262, 263, 266, 269, 273, 279, 287, 294, 304, 312, 323, 335, 350, 370, 386, 357, 344, 329, 317, 308, 299,
                290, 284, 277, 270, 267, 264, 262, 261, 261, 259, 260, 262, 262, 263, 265, 268, 271, 277, 286, 294, 303,
                313, 322, 335, 348, 367, 384, 358, 343, 329, 316, 307, 298, 290, 282, 274, 269, 265, 263, 262, 261, 260,
                259, 259, 259, 262, 262, 265, 267, 269, 276, 284, 290, 300, 312, 321, 330, 347, 361, 377, 355, 339, 327,
                314, 304, 296, 287, 279, 272, 266, 263, 261, 261, 259, 258, 258, 258, 259, 261, 261, 263, 265, 269, 273,
                281, 288, 298, 308, 317, 329, 343, 359, 379, 351, 337, 324, 312, 302, 293, 285, 276, 269, 266, 261, 260,
                259, 257, 257, 257, 258, 258, 259, 260, 262, 265, 266, 271, 279, 287, 295, 304, 314, 327, 341, 357, 370,
                348, 337, 324, 309, 300, 290, 284, 276, 268, 265, 261, 259, 259, 257, 257, 257, 256, 257, 258, 259, 261,
                263, 267, 270, 279, 285, 295, 304, 313, 325, 340, 354, 369, 349, 335, 322, 309, 298, 290, 281, 275, 268,
                264, 260, 259, 258, 257, 256, 256, 256, 256, 258, 258, 259, 261, 264, 270, 276, 285, 295, 304, 312, 323,
                338, 353, 369, 350, 337, 322, 308, 299, 290, 283, 275, 269, 265, 259, 258, 258, 258, 257, 256, 256, 257,
                258, 260, 260, 262, 266, 269, 277, 284, 294, 302, 312, 324, 338, 355, 370, 351, 336, 323, 311, 298, 292,
                283, 276, 270, 264, 261, 261, 259, 258, 258, 257, 258, 258, 258, 261, 261, 265, 266, 271, 278, 285, 295,
                303, 313, 325, 339, 355, 372, 353, 339, 324, 312, 301, 292, 284, 276, 271, 263, 261, 263, 259, 260, 258,
                258, 258, 259, 259, 260, 262, 265, 267, 271, 279, 287, 295, 304, 314, 328, 341, 358, 370, 353, 340, 326,
                315, 304, 295, 285, 277, 271, 263, 264, 263, 261, 261, 260, 259, 259, 260, 262, 261, 264, 266, 268, 274,
                283, 288, 298, 307, 317, 328, 344, 358, 375, 354, 343, 328, 316, 307, 296, 287, 278, 272, 264, 264, 265,
                262, 261, 261, 260, 259, 259, 262, 264, 265, 266, 268, 275, 283, 290, 298, 307, 320, 331, 343, 360, 377,
                354, 342, 329, 316, 306, 296, 287, 279, 274, 265, 262, 265, 261, 260, 261, 261, 261, 260, 262, 263, 265,
                267, 269, 275, 284, 290, 300, 309, 321, 333, 347, 365, 375, 357, 343, 329, 316, 304, 296, 288, 279, 274,
                266, 261, 262, 262, 260, 259, 261, 260, 259, 262, 262, 265, 266, 270, 276, 282, 290, 300, 308, 322, 332,
                346, 365, 381, 356, 344, 329, 318, 307, 298, 287, 279, 274, 268, 263, 262, 261, 261, 259, 260, 260, 260,
                261, 262, 264, 268, 271, 276, 283, 290, 298, 311, 321, 333, 349, 366, 380, 357, 344, 330, 316, 307, 297,
                288, 281, 276, 268, 265, 261, 262, 259, 261, 259, 260, 260, 260, 262, 265, 267, 271, 276, 283, 292, 300,
                310, 321, 334, 347, 366, 379, 360, 345, 334, 319, 308, 300, 290, 282, 276, 271, 266, 264, 261, 261, 259,
                259, 260, 261, 262, 262, 265, 268, 271, 278, 285, 295, 302, 312, 322, 335, 350, 367, 385, 366, 351, 334,
                323, 311, 301, 294, 284, 278, 274, 268, 266, 262, 261, 261, 261, 262, 269, 265, 264, 266, 270, 275, 281,
                288, 297, 304, 316, 323, 338, 353, 372, 388, 369, 355, 339, 325, 314, 305, 296, 289, 283, 276, 272, 268,
                265, 263, 264, 263, 265, 264, 265, 266, 269, 274, 278, 285, 291, 298, 308, 319, 329, 344, 358, 376, 394,
                375, 360, 343, 331, 321, 309, 301, 292, 286, 281, 276, 274, 269, 267, 267, 265, 265, 267, 268, 270, 274,
                278, 281, 288, 295, 304, 312, 323, 333, 350, 364, 385, 403, 384, 366, 351, 337, 325, 315, 306, 298, 291,
                285, 279, 277, 274, 270, 270, 269, 269, 270, 271, 275, 278, 283, 288, 292, 301, 309, 319, 328, 340, 354,
                370, 388, 408, 388, 373, 354, 341, 330, 321, 310, 302, 296, 289, 285, 281, 277, 274, 272, 271, 272, 274,
                275, 278, 281, 286, 290, 298, 306, 313, 323, 332, 345, 358, 377, 398, 416, 396, 379, 360, 346, 334, 322,
                316, 305, 299, 292, 288, 284, 280, 277, 277, 275, 276, 277, 279, 281, 285, 288, 295, 301, 309, 316, 327,
                338, 350, 366, 380, 404, 421, 398, 382, 366, 352, 339, 325, 319, 307, 301, 295, 290, 285, 284, 280, 279,
                278, 278, 279, 281, 281, 288, 292, 297, 302, 312, 321, 329, 342, 352, 369, 387, 406, 430,
            },
        },

        {
            /* Rgain */
            {
                459, 430, 407, 387, 371, 353, 340, 332, 324, 313, 306, 301, 297, 293, 292, 291, 291, 292, 293, 299, 303,
                306, 312, 324, 330, 342, 355, 369, 385, 405, 430, 459, 486, 446, 425, 402, 384, 365, 352, 337, 328, 318,
                308, 303, 297, 293, 290, 287, 286, 288, 288, 291, 294, 296, 303, 310, 318, 328, 340, 351, 364, 381, 402,
                422, 450, 484, 436, 417, 394, 374, 356, 343, 329, 320, 312, 303, 295, 292, 287, 283, 282, 281, 280, 281,
                283, 288, 291, 295, 303, 311, 322, 334, 343, 357, 371, 391, 414, 440, 482, 426, 407, 385, 365, 349, 335,
                323, 315, 305, 296, 290, 285, 281, 277, 275, 274, 275, 275, 278, 281, 285, 290, 296, 303, 314, 325, 338,
                351, 367, 385, 403, 429, 467, 418, 399, 379, 358, 343, 329, 317, 308, 300, 292, 285, 280, 275, 273, 272,
                271, 270, 272, 274, 276, 279, 284, 293, 300, 310, 318, 332, 343, 358, 376, 398, 421, 449, 414, 395, 371,
                354, 339, 327, 312, 305, 295, 289, 282, 276, 273, 269, 267, 267, 267, 268, 269, 274, 276, 282, 288, 293,
                305, 315, 326, 338, 353, 370, 390, 415, 438, 407, 392, 369, 351, 337, 324, 312, 302, 293, 285, 280, 274,
                270, 267, 266, 265, 265, 266, 267, 273, 274, 279, 285, 291, 301, 312, 323, 336, 350, 367, 387, 409, 434,
                404, 386, 365, 350, 334, 321, 310, 299, 291, 283, 277, 273, 269, 266, 265, 264, 264, 265, 267, 269, 272,
                277, 282, 290, 301, 310, 321, 335, 349, 365, 386, 410, 433, 403, 385, 365, 344, 332, 321, 307, 296, 289,
                282, 275, 271, 267, 265, 264, 265, 265, 265, 266, 268, 271, 274, 281, 286, 299, 306, 321, 332, 347, 364,
                381, 408, 427, 402, 384, 362, 345, 329, 317, 305, 295, 290, 280, 274, 270, 267, 266, 264, 264, 264, 264,
                265, 268, 270, 274, 280, 286, 295, 305, 317, 329, 343, 361, 380, 408, 430, 398, 379, 361, 343, 328, 315,
                304, 293, 285, 278, 272, 268, 266, 265, 264, 264, 264, 264, 266, 267, 268, 272, 279, 285, 295, 304, 315,
                328, 342, 358, 378, 404, 425, 395, 378, 356, 339, 326, 313, 302, 293, 282, 276, 271, 267, 266, 264, 262,
                262, 263, 263, 264, 265, 267, 271, 276, 282, 292, 302, 315, 326, 340, 357, 375, 396, 422, 392, 376, 355,
                337, 323, 310, 299, 290, 281, 275, 269, 266, 264, 262, 260, 260, 260, 259, 264, 265, 267, 270, 274, 281,
                290, 301, 310, 323, 337, 352, 371, 391, 414, 390, 371, 352, 335, 321, 310, 299, 286, 279, 272, 266, 265,
                264, 259, 258, 257, 258, 259, 259, 262, 265, 266, 271, 276, 286, 296, 306, 321, 334, 349, 368, 389, 407,
                387, 368, 350, 334, 318, 306, 295, 286, 276, 271, 266, 263, 263, 259, 258, 256, 257, 257, 259, 261, 264,
                266, 271, 276, 286, 293, 305, 318, 332, 348, 366, 388, 404, 386, 369, 349, 332, 317, 305, 293, 283, 274,
                269, 265, 263, 260, 258, 257, 256, 256, 257, 258, 260, 263, 266, 269, 276, 285, 293, 305, 317, 333, 347,
                366, 386, 405, 387, 369, 349, 334, 318, 305, 295, 284, 276, 269, 266, 264, 259, 259, 257, 257, 257, 257,
                258, 260, 264, 266, 270, 275, 283, 293, 305, 317, 332, 348, 365, 387, 410, 385, 370, 350, 334, 320, 308,
                295, 286, 278, 270, 266, 265, 262, 260, 258, 258, 257, 259, 260, 262, 264, 266, 271, 276, 286, 294, 306,
                317, 332, 349, 368, 389, 412, 389, 371, 352, 335, 321, 309, 296, 286, 279, 269, 268, 265, 264, 262, 259,
                259, 258, 258, 261, 264, 265, 269, 271, 279, 286, 296, 310, 321, 332, 350, 366, 390, 410, 391, 374, 354,
                337, 322, 311, 299, 286, 281, 270, 269, 266, 264, 263, 262, 261, 260, 260, 264, 264, 266, 269, 273, 280,
                289, 299, 310, 322, 336, 353, 369, 395, 415, 395, 376, 357, 340, 324, 310, 301, 291, 282, 271, 269, 267,
                265, 264, 263, 262, 262, 263, 264, 266, 268, 271, 274, 281, 292, 301, 312, 324, 339, 355, 375, 395, 414,
                395, 378, 355, 342, 326, 313, 301, 291, 282, 272, 269, 268, 265, 265, 265, 262, 262, 263, 265, 267, 268,
                273, 275, 282, 291, 301, 312, 325, 339, 356, 373, 397, 418, 397, 378, 357, 342, 326, 315, 303, 292, 283,
                272, 267, 268, 266, 265, 264, 264, 263, 265, 265, 266, 267, 271, 276, 283, 293, 303, 313, 325, 341, 355,
                376, 398, 418, 398, 380, 358, 343, 328, 315, 303, 293, 283, 274, 271, 267, 266, 264, 265, 264, 264, 264,
                264, 266, 268, 272, 276, 283, 293, 302, 313, 326, 341, 359, 378, 399, 422, 397, 381, 361, 343, 328, 315,
                303, 294, 284, 276, 271, 268, 266, 265, 264, 263, 262, 264, 264, 266, 268, 271, 277, 285, 293, 303, 314,
                327, 343, 358, 379, 401, 422, 402, 384, 362, 346, 330, 318, 307, 296, 288, 280, 274, 268, 267, 265, 265,
                265, 265, 265, 267, 268, 268, 274, 280, 286, 295, 305, 316, 330, 346, 362, 380, 403, 425, 412, 388, 367,
                351, 335, 322, 312, 301, 291, 283, 276, 272, 270, 267, 267, 266, 266, 273, 268, 270, 273, 278, 283, 291,
                299, 309, 321, 334, 349, 365, 386, 412, 436, 417, 396, 374, 358, 341, 328, 315, 305, 295, 288, 282, 279,
                274, 271, 270, 269, 268, 269, 270, 274, 275, 282, 288, 295, 303, 314, 326, 338, 354, 371, 390, 415, 440,
                418, 403, 381, 362, 347, 332, 321, 310, 301, 293, 285, 281, 276, 275, 274, 273, 271, 273, 275, 276, 282,
                286, 293, 301, 308, 320, 332, 343, 363, 379, 398, 425, 449, 429, 408, 388, 368, 352, 338, 326, 315, 306,
                299, 292, 286, 282, 281, 276, 275, 276, 276, 279, 282, 286, 292, 297, 308, 315, 324, 336, 351, 365, 386,
                405, 436, 456, 440, 417, 395, 374, 357, 346, 332, 321, 312, 304, 296, 294, 286, 283, 281, 281, 281, 282,
                283, 285, 291, 296, 303, 312, 321, 333, 343, 356, 373, 392, 415, 441, 464, 443, 425, 399, 381, 364, 350,
                338, 325, 318, 309, 301, 295, 291, 288, 285, 285, 285, 285, 286, 291, 295, 301, 307, 316, 324, 337, 348,
                363, 379, 399, 419, 447, 479, 452, 425, 405, 385, 368, 351, 341, 328, 317, 309, 303, 299, 294, 291, 286,
                288, 285, 288, 289, 293, 298, 303, 311, 318, 327, 337, 349, 365, 382, 402, 425, 456, 482,
            },

            /* Grgain */
            {
                425, 404, 384, 369, 354, 340, 331, 319, 311, 306, 299, 295, 290, 289, 286, 285, 286, 286, 288, 290, 293,
                298, 306, 311, 320, 330, 339, 352, 367, 382, 401, 424, 454, 417, 398, 379, 363, 347, 335, 324, 316, 307,
                301, 295, 290, 287, 284, 283, 281, 282, 283, 284, 286, 290, 295, 300, 307, 316, 326, 335, 347, 361, 376,
                395, 418, 446, 409, 390, 371, 355, 341, 327, 318, 309, 302, 294, 289, 286, 283, 278, 278, 276, 277, 278,
                279, 282, 285, 289, 294, 301, 311, 320, 330, 340, 354, 368, 386, 405, 446, 400, 382, 363, 347, 333, 323,
                311, 304, 297, 290, 284, 280, 276, 274, 273, 272, 272, 272, 274, 276, 279, 284, 289, 295, 304, 314, 322,
                333, 347, 362, 380, 401, 437, 393, 373, 356, 343, 330, 318, 308, 299, 293, 285, 279, 275, 272, 269, 269,
                268, 269, 268, 271, 272, 275, 279, 284, 290, 299, 308, 318, 329, 342, 356, 373, 392, 419, 390, 368, 352,
                338, 324, 314, 304, 296, 288, 283, 276, 273, 269, 266, 266, 264, 264, 265, 268, 270, 272, 277, 282, 288,
                295, 304, 313, 324, 337, 351, 368, 389, 409, 385, 366, 348, 335, 323, 311, 301, 293, 285, 280, 274, 270,
                267, 264, 264, 264, 264, 263, 267, 269, 270, 273, 278, 284, 292, 301, 311, 321, 334, 349, 365, 384, 405,
                380, 364, 347, 333, 320, 309, 301, 290, 284, 278, 272, 269, 265, 264, 263, 262, 262, 264, 265, 267, 269,
                273, 277, 283, 290, 300, 308, 321, 331, 347, 363, 381, 403, 379, 361, 346, 332, 319, 307, 299, 289, 283,
                276, 272, 268, 265, 262, 262, 262, 263, 264, 265, 266, 266, 270, 275, 280, 289, 298, 307, 318, 331, 345,
                361, 383, 400, 377, 360, 343, 329, 318, 306, 297, 288, 283, 273, 269, 266, 264, 263, 262, 263, 262, 263,
                264, 265, 266, 269, 275, 280, 289, 295, 307, 317, 328, 343, 359, 382, 402, 375, 357, 341, 327, 315, 305,
                295, 287, 280, 273, 268, 265, 265, 263, 263, 261, 262, 263, 264, 264, 266, 269, 273, 278, 287, 295, 307,
                317, 327, 340, 355, 378, 400, 371, 355, 339, 325, 313, 302, 293, 284, 275, 271, 268, 264, 264, 262, 260,
                261, 260, 261, 262, 264, 265, 267, 271, 277, 285, 292, 304, 313, 326, 339, 354, 373, 393, 369, 352, 337,
                322, 310, 301, 290, 282, 275, 269, 265, 263, 261, 260, 260, 260, 260, 260, 261, 263, 264, 265, 269, 275,
                283, 290, 300, 309, 323, 336, 352, 369, 391, 364, 349, 334, 321, 308, 298, 289, 280, 273, 268, 263, 261,
                260, 259, 259, 258, 258, 258, 259, 261, 262, 264, 268, 272, 280, 289, 297, 308, 320, 334, 350, 367, 382,
                364, 347, 332, 319, 306, 296, 286, 278, 272, 266, 262, 260, 260, 259, 257, 256, 256, 258, 258, 260, 261,
                264, 266, 272, 280, 286, 296, 307, 319, 332, 347, 363, 384, 362, 346, 331, 317, 305, 295, 286, 279, 269,
                265, 262, 261, 259, 257, 258, 256, 256, 257, 259, 259, 261, 262, 265, 271, 278, 285, 295, 305, 318, 331,
                347, 364, 382, 363, 347, 331, 319, 306, 295, 286, 278, 270, 265, 262, 260, 259, 259, 257, 256, 257, 259,
                259, 260, 261, 263, 266, 272, 278, 286, 295, 306, 318, 332, 346, 365, 384, 364, 347, 333, 319, 307, 295,
                286, 278, 272, 266, 264, 262, 260, 259, 259, 257, 258, 259, 260, 261, 263, 264, 266, 272, 279, 287, 295,
                307, 320, 333, 348, 364, 385, 366, 350, 334, 321, 308, 300, 288, 280, 273, 265, 264, 263, 261, 261, 260,
                259, 259, 260, 260, 262, 264, 265, 268, 274, 280, 288, 298, 307, 321, 335, 350, 368, 385, 368, 353, 338,
                323, 311, 300, 289, 283, 275, 265, 265, 264, 263, 263, 261, 260, 260, 261, 262, 263, 264, 267, 270, 274,
                282, 290, 301, 311, 323, 338, 353, 371, 390, 371, 353, 338, 324, 313, 302, 291, 283, 276, 266, 266, 265,
                264, 264, 263, 262, 261, 262, 263, 264, 265, 268, 270, 276, 284, 293, 301, 313, 324, 338, 354, 373, 390,
                374, 356, 338, 326, 313, 302, 293, 283, 277, 267, 265, 265, 264, 264, 264, 262, 262, 262, 264, 265, 266,
                268, 272, 277, 285, 293, 302, 314, 325, 341, 356, 374, 393, 374, 357, 340, 326, 314, 303, 292, 285, 278,
                269, 264, 265, 264, 264, 264, 264, 263, 263, 263, 264, 265, 269, 272, 278, 285, 294, 303, 315, 327, 341,
                356, 375, 395, 375, 357, 340, 327, 315, 304, 294, 284, 277, 270, 266, 265, 264, 263, 262, 262, 262, 262,
                263, 264, 266, 268, 272, 279, 285, 294, 304, 315, 326, 341, 356, 376, 393, 377, 359, 342, 327, 316, 303,
                294, 285, 278, 272, 268, 265, 264, 263, 262, 261, 263, 262, 263, 264, 265, 268, 272, 279, 287, 295, 306,
                316, 330, 342, 359, 376, 400, 379, 361, 345, 331, 318, 307, 296, 288, 282, 274, 270, 267, 264, 264, 263,
                262, 264, 264, 264, 264, 266, 270, 275, 280, 289, 297, 306, 318, 329, 344, 362, 380, 399, 381, 364, 347,
                334, 321, 311, 300, 291, 283, 278, 273, 269, 266, 265, 265, 264, 264, 271, 266, 266, 269, 272, 278, 284,
                291, 299, 309, 321, 334, 348, 365, 385, 404, 389, 370, 352, 339, 325, 314, 303, 295, 288, 281, 277, 273,
                269, 266, 267, 265, 266, 267, 268, 269, 272, 276, 281, 288, 295, 304, 313, 326, 339, 354, 371, 391, 413,
                393, 376, 358, 343, 330, 318, 308, 299, 291, 285, 280, 276, 273, 271, 269, 269, 268, 270, 270, 273, 276,
                280, 286, 293, 300, 308, 318, 331, 344, 359, 376, 399, 419, 403, 382, 364, 348, 337, 325, 313, 304, 296,
                290, 284, 281, 278, 274, 273, 273, 272, 273, 274, 277, 281, 285, 290, 297, 305, 314, 324, 336, 350, 366,
                384, 405, 428, 412, 390, 371, 354, 342, 328, 318, 309, 301, 294, 288, 287, 280, 278, 277, 275, 277, 277,
                279, 282, 284, 289, 295, 301, 309, 318, 331, 342, 355, 372, 389, 412, 435, 415, 395, 375, 361, 345, 334,
                324, 313, 305, 300, 293, 288, 285, 283, 280, 279, 279, 280, 282, 285, 289, 293, 299, 306, 314, 324, 334,
                347, 361, 377, 396, 421, 446, 422, 401, 381, 364, 351, 338, 327, 317, 307, 301, 295, 292, 288, 286, 284,
                283, 283, 284, 285, 289, 293, 296, 301, 309, 317, 327, 338, 352, 366, 384, 401, 425, 455,
            },

            /* Gbgain */
            {
                427, 404, 384, 369, 354, 341, 329, 318, 311, 305, 299, 295, 290, 288, 286, 284, 285, 285, 287, 291, 292,
                298, 302, 310, 319, 328, 337, 349, 363, 377, 398, 423, 448, 420, 399, 379, 363, 348, 336, 325, 315, 308,
                300, 294, 290, 286, 284, 281, 280, 281, 281, 283, 286, 289, 292, 298, 305, 314, 322, 333, 344, 357, 373,
                391, 415, 443, 411, 391, 370, 355, 340, 328, 319, 309, 302, 295, 289, 284, 281, 279, 276, 276, 275, 276,
                277, 280, 284, 287, 292, 298, 308, 319, 328, 337, 350, 365, 383, 406, 441, 404, 383, 364, 347, 334, 323,
                313, 304, 297, 289, 283, 280, 276, 273, 272, 271, 271, 272, 274, 275, 278, 282, 289, 294, 302, 312, 321,
                332, 344, 358, 376, 396, 435, 393, 375, 357, 342, 330, 318, 308, 298, 292, 285, 279, 276, 272, 269, 268,
                267, 266, 267, 269, 271, 274, 279, 283, 289, 297, 306, 315, 327, 340, 355, 370, 391, 414, 391, 370, 352,
                338, 327, 315, 304, 296, 287, 282, 276, 273, 269, 266, 265, 264, 264, 264, 267, 268, 271, 275, 280, 285,
                294, 302, 310, 322, 335, 350, 366, 386, 406, 385, 367, 350, 335, 323, 312, 302, 292, 285, 280, 275, 270,
                266, 264, 263, 262, 262, 262, 265, 267, 269, 272, 277, 282, 291, 299, 308, 320, 332, 347, 364, 382, 403,
                383, 365, 348, 333, 321, 308, 300, 291, 284, 278, 273, 268, 265, 264, 261, 262, 261, 262, 264, 266, 266,
                271, 275, 281, 289, 296, 306, 316, 328, 344, 360, 379, 400, 378, 362, 347, 332, 319, 308, 297, 290, 282,
                276, 271, 266, 265, 261, 262, 261, 262, 262, 262, 264, 266, 270, 274, 278, 288, 296, 306, 315, 327, 343,
                358, 380, 398, 379, 362, 344, 332, 318, 307, 296, 289, 283, 274, 269, 266, 264, 262, 262, 261, 262, 261,
                262, 264, 265, 268, 274, 278, 286, 295, 304, 315, 325, 340, 356, 380, 397, 376, 358, 341, 328, 315, 306,
                296, 286, 281, 272, 268, 266, 264, 262, 262, 261, 261, 261, 262, 263, 265, 267, 271, 276, 285, 292, 303,
                314, 325, 340, 355, 377, 397, 373, 356, 340, 327, 315, 305, 294, 285, 276, 271, 266, 264, 262, 262, 261,
                261, 260, 261, 262, 262, 265, 266, 271, 275, 284, 291, 301, 313, 322, 337, 352, 370, 393, 370, 355, 337,
                322, 312, 301, 292, 282, 275, 269, 266, 263, 261, 261, 260, 259, 258, 259, 260, 261, 263, 265, 269, 274,
                280, 289, 298, 309, 321, 336, 350, 368, 385, 367, 350, 333, 321, 309, 299, 289, 280, 273, 266, 263, 262,
                260, 260, 257, 257, 257, 258, 258, 260, 262, 262, 266, 271, 279, 286, 296, 306, 318, 332, 348, 365, 383,
                366, 349, 332, 319, 308, 296, 286, 278, 271, 266, 261, 260, 260, 258, 257, 256, 256, 257, 257, 258, 261,
                262, 265, 270, 278, 285, 294, 305, 316, 330, 345, 363, 381, 365, 349, 332, 319, 306, 296, 286, 276, 270,
                265, 262, 261, 258, 257, 257, 256, 256, 256, 257, 259, 260, 262, 264, 270, 276, 285, 293, 303, 315, 329,
                344, 363, 381, 364, 348, 332, 319, 307, 296, 286, 278, 271, 266, 262, 262, 260, 257, 257, 257, 256, 257,
                258, 260, 261, 262, 265, 269, 276, 285, 293, 304, 315, 329, 345, 361, 381, 366, 350, 334, 320, 308, 297,
                287, 279, 272, 265, 264, 262, 261, 259, 257, 257, 257, 258, 259, 260, 262, 264, 266, 270, 277, 286, 294,
                305, 316, 332, 347, 363, 382, 369, 351, 336, 322, 309, 297, 289, 280, 274, 265, 264, 263, 261, 260, 260,
                259, 259, 260, 260, 262, 264, 265, 266, 273, 279, 287, 296, 307, 318, 332, 347, 367, 386, 370, 355, 337,
                323, 312, 301, 290, 283, 275, 266, 266, 264, 262, 261, 260, 260, 260, 260, 261, 263, 263, 266, 269, 274,
                281, 290, 298, 308, 321, 335, 350, 368, 386, 373, 355, 338, 326, 312, 302, 291, 282, 276, 266, 266, 265,
                263, 262, 261, 261, 261, 262, 262, 263, 265, 267, 269, 275, 282, 290, 300, 310, 322, 336, 353, 370, 388,
                374, 357, 340, 326, 314, 303, 292, 284, 276, 266, 265, 266, 264, 264, 262, 262, 261, 262, 262, 265, 265,
                267, 270, 276, 283, 291, 299, 312, 322, 338, 354, 371, 391, 377, 357, 341, 327, 315, 304, 294, 285, 277,
                268, 264, 265, 264, 262, 262, 262, 262, 261, 262, 265, 265, 266, 271, 276, 284, 291, 301, 312, 324, 340,
                355, 373, 391, 375, 357, 342, 328, 316, 304, 292, 285, 276, 270, 266, 265, 264, 262, 262, 261, 261, 262,
                261, 263, 265, 266, 271, 276, 284, 292, 302, 313, 326, 338, 356, 373, 393, 376, 360, 343, 329, 316, 305,
                295, 286, 280, 273, 267, 265, 264, 262, 262, 261, 261, 261, 262, 263, 265, 266, 272, 278, 286, 293, 303,
                314, 326, 340, 356, 376, 396, 381, 362, 346, 332, 319, 308, 297, 288, 281, 275, 269, 266, 265, 263, 262,
                262, 261, 262, 265, 264, 266, 269, 274, 281, 286, 295, 305, 315, 328, 344, 358, 377, 399, 385, 367, 350,
                335, 322, 312, 300, 290, 285, 277, 273, 269, 266, 265, 265, 264, 264, 269, 265, 266, 268, 272, 277, 283,
                290, 297, 308, 320, 332, 347, 364, 383, 403, 391, 373, 354, 339, 327, 315, 304, 295, 287, 281, 276, 272,
                269, 266, 267, 266, 266, 265, 266, 269, 271, 276, 281, 287, 294, 301, 312, 323, 336, 351, 368, 389, 413,
                398, 377, 360, 345, 333, 319, 309, 300, 292, 285, 280, 275, 272, 270, 269, 268, 267, 269, 270, 271, 275,
                279, 285, 291, 298, 307, 316, 328, 341, 356, 374, 395, 418, 406, 384, 367, 350, 336, 325, 314, 304, 296,
                290, 284, 280, 276, 274, 273, 272, 272, 272, 274, 276, 279, 284, 289, 295, 303, 312, 322, 334, 348, 364,
                382, 404, 426, 412, 391, 372, 356, 341, 329, 319, 310, 301, 295, 288, 287, 280, 278, 276, 275, 275, 275,
                277, 280, 284, 288, 294, 301, 309, 318, 328, 339, 353, 368, 387, 411, 434, 418, 396, 379, 361, 348, 335,
                324, 314, 306, 299, 292, 289, 285, 281, 280, 279, 278, 280, 281, 284, 287, 291, 298, 304, 312, 321, 332,
                344, 359, 374, 394, 418, 443, 425, 402, 383, 367, 352, 340, 328, 318, 309, 302, 296, 290, 287, 286, 282,
                282, 281, 282, 284, 287, 291, 296, 301, 306, 315, 327, 336, 348, 365, 381, 400, 424, 448,
            },

            /* Bgain */
            {
                400, 385, 366, 349, 339, 327, 317, 311, 302, 297, 295, 289, 287, 282, 279, 281, 280, 281, 283, 285, 287,
                292, 301, 305, 312, 322, 329, 340, 352, 368, 387, 408, 426, 394, 377, 363, 349, 336, 324, 314, 307, 301,
                295, 290, 285, 280, 279, 278, 277, 276, 278, 279, 281, 285, 290, 296, 301, 308, 319, 327, 337, 350, 365,
                384, 404, 427, 387, 372, 354, 341, 328, 316, 307, 301, 296, 288, 284, 280, 276, 274, 274, 271, 272, 274,
                276, 277, 280, 285, 290, 297, 304, 313, 322, 330, 343, 356, 372, 391, 424, 381, 361, 350, 332, 321, 312,
                304, 297, 291, 285, 279, 276, 271, 269, 269, 268, 268, 268, 271, 273, 275, 279, 285, 290, 299, 306, 316,
                324, 338, 351, 366, 385, 416, 373, 358, 341, 328, 316, 309, 300, 291, 286, 279, 276, 272, 270, 267, 263,
                265, 265, 265, 267, 268, 272, 275, 280, 285, 293, 303, 311, 322, 330, 344, 359, 377, 396, 367, 353, 337,
                325, 314, 306, 296, 290, 283, 279, 274, 269, 266, 263, 263, 261, 262, 261, 265, 266, 269, 273, 277, 284,
                290, 300, 307, 316, 328, 340, 355, 374, 392, 365, 352, 336, 322, 311, 303, 296, 287, 280, 276, 271, 267,
                264, 261, 261, 261, 261, 261, 263, 267, 268, 272, 276, 283, 289, 297, 304, 314, 325, 339, 354, 372, 387,
                361, 350, 336, 323, 311, 301, 295, 286, 280, 276, 269, 266, 262, 260, 260, 259, 259, 261, 264, 265, 266,
                271, 276, 281, 288, 296, 306, 312, 324, 339, 354, 372, 388, 359, 346, 335, 321, 310, 302, 293, 286, 279,
                274, 268, 265, 263, 260, 261, 261, 260, 262, 263, 265, 265, 268, 274, 279, 287, 295, 304, 312, 323, 338,
                351, 370, 385, 359, 345, 331, 320, 308, 299, 292, 285, 279, 273, 268, 264, 262, 262, 261, 260, 261, 262,
                262, 263, 266, 269, 273, 279, 287, 294, 304, 312, 323, 335, 350, 370, 386, 357, 344, 329, 317, 308, 299,
                290, 284, 277, 270, 267, 264, 262, 261, 261, 259, 260, 262, 262, 263, 265, 268, 271, 277, 286, 294, 303,
                313, 322, 335, 348, 367, 384, 358, 343, 329, 316, 307, 298, 290, 282, 274, 269, 265, 263, 262, 261, 260,
                259, 259, 259, 262, 262, 265, 267, 269, 276, 284, 290, 300, 312, 321, 330, 347, 361, 377, 355, 339, 327,
                314, 304, 296, 287, 279, 272, 266, 263, 261, 261, 259, 258, 258, 258, 259, 261, 261, 263, 265, 269, 273,
                281, 288, 298, 308, 317, 329, 343, 359, 379, 351, 337, 324, 312, 302, 293, 285, 276, 269, 266, 261, 260,
                259, 257, 257, 257, 258, 258, 259, 260, 262, 265, 266, 271, 279, 287, 295, 304, 314, 327, 341, 357, 370,
                348, 337, 324, 309, 300, 290, 284, 276, 268, 265, 261, 259, 259, 257, 257, 257, 256, 257, 258, 259, 261,
                263, 267, 270, 279, 285, 295, 304, 313, 325, 340, 354, 369, 349, 335, 322, 309, 298, 290, 281, 275, 268,
                264, 260, 259, 258, 257, 256, 256, 256, 256, 258, 258, 259, 261, 264, 270, 276, 285, 295, 304, 312, 323,
                338, 353, 369, 350, 337, 322, 308, 299, 290, 283, 275, 269, 265, 259, 258, 258, 258, 257, 256, 256, 257,
                258, 260, 260, 262, 266, 269, 277, 284, 294, 302, 312, 324, 338, 355, 370, 351, 336, 323, 311, 298, 292,
                283, 276, 270, 264, 261, 261, 259, 258, 258, 257, 258, 258, 258, 261, 261, 265, 266, 271, 278, 285, 295,
                303, 313, 325, 339, 355, 372, 353, 339, 324, 312, 301, 292, 284, 276, 271, 263, 261, 263, 259, 260, 258,
                258, 258, 259, 259, 260, 262, 265, 267, 271, 279, 287, 295, 304, 314, 328, 341, 358, 370, 353, 340, 326,
                315, 304, 295, 285, 277, 271, 263, 264, 263, 261, 261, 260, 259, 259, 260, 262, 261, 264, 266, 268, 274,
                283, 288, 298, 307, 317, 328, 344, 358, 375, 354, 343, 328, 316, 307, 296, 287, 278, 272, 264, 264, 265,
                262, 261, 261, 260, 259, 259, 262, 264, 265, 266, 268, 275, 283, 290, 298, 307, 320, 331, 343, 360, 377,
                354, 342, 329, 316, 306, 296, 287, 279, 274, 265, 262, 265, 261, 260, 261, 261, 261, 260, 262, 263, 265,
                267, 269, 275, 284, 290, 300, 309, 321, 333, 347, 365, 375, 357, 343, 329, 316, 304, 296, 288, 279, 274,
                266, 261, 262, 262, 260, 259, 261, 260, 259, 262, 262, 265, 266, 270, 276, 282, 290, 300, 308, 322, 332,
                346, 365, 381, 356, 344, 329, 318, 307, 298, 287, 279, 274, 268, 263, 262, 261, 261, 259, 260, 260, 260,
                261, 262, 264, 268, 271, 276, 283, 290, 298, 311, 321, 333, 349, 366, 380, 357, 344, 330, 316, 307, 297,
                288, 281, 276, 268, 265, 261, 262, 259, 261, 259, 260, 260, 260, 262, 265, 267, 271, 276, 283, 292, 300,
                310, 321, 334, 347, 366, 379, 360, 345, 334, 319, 308, 300, 290, 282, 276, 271, 266, 264, 261, 261, 259,
                259, 260, 261, 262, 262, 265, 268, 271, 278, 285, 295, 302, 312, 322, 335, 350, 367, 385, 366, 351, 334,
                323, 311, 301, 294, 284, 278, 274, 268, 266, 262, 261, 261, 261, 262, 269, 265, 264, 266, 270, 275, 281,
                288, 297, 304, 316, 323, 338, 353, 372, 388, 369, 355, 339, 325, 314, 305, 296, 289, 283, 276, 272, 268,
                265, 263, 264, 263, 265, 264, 265, 266, 269, 274, 278, 285, 291, 298, 308, 319, 329, 344, 358, 376, 394,
                375, 360, 343, 331, 321, 309, 301, 292, 286, 281, 276, 274, 269, 267, 267, 265, 265, 267, 268, 270, 274,
                278, 281, 288, 295, 304, 312, 323, 333, 350, 364, 385, 403, 384, 366, 351, 337, 325, 315, 306, 298, 291,
                285, 279, 277, 274, 270, 270, 269, 269, 270, 271, 275, 278, 283, 288, 292, 301, 309, 319, 328, 340, 354,
                370, 388, 408, 388, 373, 354, 341, 330, 321, 310, 302, 296, 289, 285, 281, 277, 274, 272, 271, 272, 274,
                275, 278, 281, 286, 290, 298, 306, 313, 323, 332, 345, 358, 377, 398, 416, 396, 379, 360, 346, 334, 322,
                316, 305, 299, 292, 288, 284, 280, 277, 277, 275, 276, 277, 279, 281, 285, 288, 295, 301, 309, 316, 327,
                338, 350, 366, 380, 404, 421, 398, 382, 366, 352, 339, 325, 319, 307, 301, 295, 290, 285, 284, 280, 279,
                278, 278, 279, 281, 281, 288, 292, 297, 302, 312, 321, 329, 342, 352, 369, 387, 406, 430,
            },
        },
    },

    /* ISP_BNR_LSC_CALIB_TABLE_S */
    {
        /* RGain */
        {
            4096, 4135, 4159, 4175, 4207, 4207, 4232, 4248, 4257, 4265, 4282, 4299, 4316, 4316, 4325, 4351, 4395,
            4377, 4369, 4404, 4459, 4440, 4459, 4477, 4486, 4524, 4572, 4562, 4562, 4581, 4621, 4640, 4671, 4660,
            4660, 4742, 4722, 4774, 4805, 4827, 4838, 4870, 4904, 4971, 4915, 4948, 5017, 5006, 5041, 5076, 5064,
            5112, 5137, 5161, 5186, 5186, 5249, 5339, 5287, 5313, 5313, 5353, 5393, 5406, 5475, 5447, 5489, 5559,
            5588, 5602, 5646, 5646, 5661, 5706, 5813, 5721, 5767, 5813, 5876, 5957, 5941, 5845, 5974, 6092, 6041,
            6126, 6109, 6092, 6214, 6179, 6161, 6305, 6305, 6379, 6360, 6323, 6398, 6494, 6475, 6553, 6475, 6634,
            6674, 6695, 6674, 6779, 6822, 6887, 6931, 6998, 6887, 6931, 7021, 7067, 7067, 7137, 7161, 7161, 7257,
            7208, 7431, 7457, 7457, 7483, 7483, 7561, 7642, 7642, 7561,
        },
        /* GrGain */
        {
            4096, 4109, 4122, 4144, 4157, 4184, 4171, 4189, 4207, 4216, 4225, 4230, 4225, 4235, 4249, 4258, 4272,
            4277, 4306, 4306, 4325, 4339, 4339, 4384, 4364, 4394, 4429, 4424, 4455, 4491, 4496, 4512, 4517, 4554,
            4565, 4603, 4609, 4631, 4625, 4676, 4704, 4721, 4733, 4727, 4739, 4780, 4810, 4816, 4840, 4870, 4870,
            4895, 4914, 4920, 4945, 4977, 4983, 5029, 5062, 5075, 5082, 5102, 5129, 5143, 5170, 5233, 5226, 5233,
            5269, 5357, 5379, 5349, 5372, 5357, 5394, 5424, 5478, 5573, 5517, 5533, 5614, 5614, 5630, 5630, 5646,
            5747, 5688, 5713, 5799, 5817, 5870, 5888, 5906, 5933, 5969, 5960, 6035, 6054, 6063, 6054, 6130, 6092,
            6160, 6229, 6321, 6229, 6342, 6352, 6321, 6448, 6373, 6491, 6524, 6535, 6557, 6602, 6659, 6682, 6752,
            6764, 6729, 6788, 6860, 6872, 6959, 6909, 7035, 7100, 7074,
        },
        /* GbGain */
        {
            4096, 4104, 4130, 4148, 4166, 4179, 4183, 4202, 4215, 4215, 4224, 4229, 4252, 4247, 4271, 4271, 4285,
            4294, 4294, 4313, 4318, 4342, 4376, 4396, 4391, 4401, 4441, 4441, 4477, 4482, 4508, 4534, 4539, 4571,
            4604, 4577, 4626, 4637, 4653, 4670, 4681, 4687, 4721, 4738, 4733, 4773, 4809, 4832, 4838, 4881, 4918,
            4905, 4887, 4943, 4955, 4987, 5019, 5052, 5058, 5105, 5111, 5152, 5145, 5166, 5166, 5263, 5263, 5292,
            5314, 5321, 5387, 5365, 5410, 5440, 5447, 5455, 5525, 5533, 5564, 5572, 5604, 5588, 5661, 5686, 5719,
            5719, 5745, 5796, 5884, 5831, 5875, 5857, 5901, 5956, 6001, 5947, 6048, 6048, 6067, 6086, 6124, 6153,
            6212, 6232, 6252, 6303, 6333, 6406, 6354, 6470, 6459, 6470, 6492, 6557, 6613, 6568, 6647, 6613, 6692,
            6750, 6809, 6857, 6882, 6931, 6955, 6980, 7095, 7082, 7018,
        },
        /* BGain */
        {
            4096, 4113, 4122, 4149, 4149, 4167, 4167, 4194, 4194, 4194, 4222, 4222, 4250, 4241, 4250, 4250, 4269,
            4269, 4269, 4298, 4288, 4347, 4337, 4367, 4377, 4397, 4387, 4397, 4438, 4458, 4479, 4522, 4490, 4500,
            4532, 4543, 4598, 4587, 4598, 4609, 4631, 4665, 4665, 4676, 4734, 4711, 4746, 4734, 4830, 4770, 4806,
            4854, 4867, 4879, 4879, 4904, 4867, 4994, 4917, 4981, 4981, 5020, 5087, 5020, 5087, 5073, 5128, 5155,
            5169, 5183, 5197, 5226, 5197, 5269, 5328, 5328, 5298, 5328, 5358, 5418, 5449, 5418, 5480, 5418, 5544,
            5512, 5609, 5593, 5609, 5625, 5576, 5625, 5625, 5709, 5709, 5831, 5831, 5903, 5814, 5903, 5903, 5903,
            5940, 5996, 6053, 6091, 6034, 6053, 6210, 6190, 6251, 6251, 6292, 6312, 6271, 6418, 6333, 6418, 6484,
            6440, 6506, 6528, 6550, 6484, 6711, 6641, 6783, 6783, 7058,
        },
    },
};

static const ISP_CMOS_CLUT_S g_stIspCLUT = {
    1,
    128,
    128,
    128,
    {
        {
            0,          0,          1073740805, 0,          1049598,    3148794,    2100218,    4199408,    5247984,
            8397794,    8398816,    12599241,   12598223,   15751093,   17850285,   23102348,   19954581,   24159090,
            27306857,   31512388,   28364620,   32570148,   35716896,   38872829,   36776700,   40982230,   43078361,
            47282868,   45186736,   49392267,   51488399,   55692906,   53597798,   1,          59898437,   1,
            1072690186, 6299622,    1071640592, 7351260,    2101238,    16800690,   3150833,    19951518,   10500047,
            29404008,   13650880,   33607499,   23101327,   38863643,   26255222,   44116730,   34659136,   45175511,
            38862625,   51476149,   42019576,   53583507,   47272662,   59885169,   49378998,   61993546,   55680660,
            69343784,   57789039,   1047555,    64089677,   1073739782, 67247653,   9450451,    73548291,   9453515,
            1070588952, 22053773,   1069538337, 23106431,   4200429,    36759350,   4201450,    37812006,   14702515,
            48318177,   15755175,   50420429,   29406050,   56728216,   30458707,   61978237,   43063050,   66185809,
            45165305,   71437873,   52523707,   75644422,   56724132,   81946113,   60932724,   1073738761, 66183767,
            1072689165, 70390316,   10504132,   76691979,   10505151,   80898561,   24158067,   87200257,   24161128,
            1067438122, 39913240,   1066387506, 37819146,   4202472,    53571260,   4202471,    55673516,   16806813,
            66179685,   16808853,   69331535,   30462790,   77737491,   31514426,   82988545,   46217962,   89295361,
            48319195,   95597057,   59875984,   1072688144, 63026813,   1071639571, 71434812,   10507194,   76684834,
            10508213,   82992641,   24164190,   89293313,   23118675,   94550529,   37823228,   101901825,  35729134,
            1065336890, 58824347,   1064286274, 49390214,   4202469,    73531961,   4203492,    77732387,   16810892,
            88239617,   16812933,   93490689,   30468910,   101898753,  29424417,   108199425,  44128970,   1071638550,
            43084474,   1070588953, 66177642,   9460656,    68280918,   8413100,    80886281,   22072137,   85087745,
            19978047,   95593985,   33636063,   100845057,  30494416,   109252097,  46248563,   116603393,  42058336,
            1063235656, 75641355,   1062185038, 52574721,   3154915,    98741761,   3154915,    102944257,  15766397,
            115549697,  13671286,   121850369,  27330325,   1069539355, 25236232,   1069539357, 39941801,   7365544,
            35751576,   5269412,    52554301,   16835381,   47316519,   13691691,   90337793,   26303169,   80905729,
            21064370,   107145729,  35770956,   112397825,  28436024,   122905089,  45238785,   130255361,  34758145,
            1061134420, 83024385,   1060084825, 42128897,   2106338,    128152065,  2107361,    133404161,  11576175,
            1068489760, 9481064,    1068489762, 21044987,   4221856,    16853742,   2125724,    30512775,   9499425,
            24225397,   4259608,    39980561,   14775971,   31597057,   7440020,    49448449,   19002916,   38967809,
            9569808,    117648897,  24277505,   81997313,   12748289,   137605633,  29551105,   143908353,  14876161,
            1059034207, 76776961,   1056936036, 17004033,   1058784,    1067440164, 1058783,    0,          6337377,
            29593,      3192666,    2099195,    11613922,   67342,      6374102,    5250028,    16889443,   103045,
            8504914,    11550667,   22164993,   136705,     11683329,   18907026,   26390017,   169473,     13812225,
            25215830,   31663617,   201217,     15940097,   31523616,   134477313,  231937,     67361281,   37830378,
            1055886441, 2046,       0,          1073740802, 10207,      2099197,    1023,       2101238,    48979,
            3148794,    3149813,    9451474,    85705,      3149813,    8398814,    22052753,   120385,     9454534,
            14702517,   31510345,   154113,     19962746,   23110515,   36768534,   185857,     26271551,   28369723,
            43075296,   216577,     31528716,   34676485,   50432678,   246273,     1,          40983248,   1073739784,
            2045,       2100217,    1073740805, 2102258,    1049598,    7350238,    1022,       12603324,   2099196,
            18900900,   5251048,    25207667,   3148792,    28357474,   14702518,   35714855,   4201451,    31516469,
            28355435,   46221026,   14709662,   37823232,   33615663,   54628001,   23117659,   44131017,   39921404,
            63036000,   29424421,   1073740804, 47278787,   1070588953, 34682611,   2101236,    54635145,   4202471,
            1073740802, 10503111,   1071639570, 14706597,   0,          23105410,   0,          26263382,   4200430,
            33612600,   7351258,    40967941,   12600262,   40971003,   18904985,   53573300,   25202563,   49375936,
            30460748,   65131110,   29413195,   56734339,   40967940,   76686873,   33621788,   1071639568, 50424514,
            1067438122, 40977124,   3151853,    58831489,   4204511,    47284909,   13654961,   68288063,   14712719,
            1072690185, 26260325,   1066388527, 26270520,   1023,       38865686,   2,          37829341,   6301665,
            49372875,   8404936,    60926599,   16803751,   59879043,   19960702,   75633196,   29408091,   70386236,
            34664238,   89290241,   37816088,   1069538338, 47270620,   1065336890, 45173470,   4203490,    59877005,
            3156956,    52530850,   14709658,   71433791,   13668220,   60937828,   26266439,   81940993,   23130906,
            1069538335, 44118772,   1062185039, 32594613,   1,          57774750,   1073740805, 43106894,   7354322,
            70382153,   9458616,    86135297,   18908043,   82988545,   21015396,   101893633,  32563005,   1066387506,
            32574219,   1062186057, 44119792,   4204509,    53574324,   2108379,    54625959,   14714757,   68279897,
            9476972,    65132128,   25225001,   82986497,   15796989,   75639321,   35736266,   96643585,   23164556,
            1064286272, 65128047,   1056935017, 29483546,   1047555,    80884239,   1072690187, 35802625,   9456575,
            95591937,   8412076,    114496001,  21012337,   1063237698, 17875788,   1059036248, 32570140,   3156955,
            28387048,   1059803,    50422473,   11573108,   37850754,   3188573,    64078451,   19988235,   72487459,
            5317344,    76685855,   28404385,   93490689,   8492644,    89292289,   36819508,   110296577,  10618369,
            1059035228, 76702209,   1052733568, 12743169,   1073739784, 108195329,  1071639570, 14866945,   9459634,
            1061135440, 5268388,    1051642,    19969880,   1059803,    12636981,   0,          30480122,   6333285,
            18956997,   1047554,    42039961,   11605742,   26324563,   2100215,    72481343,   15828600,   32643585,
            7353300,    88238593,   21099009,   76722689,   12607405,   102945281,  25320961,   123949569,  15763339,
            1054833781, 73597441,   1049581718, 19966827,   1071640591, 1057985631, 1069540377, 1072693249, 7364520,
            11227,      2124700,    1073740804, 15780672,   44886,      4253471,    1051642,    24195798,   76498,
            7428770,    7352280,    32611947,   107088,     9555494,    15756196,   41027073,   136705,     11680257,
            22060919,   99791361,   164353,     13805057,   27316045,   117647873,  192001,     67325441,   32570148,
            1051681931, 1052662,    1052662,    1072689165, 1070589974, 1050622,    2045,       1073739784, 4220832,
            1046534,    1047554,    3151854,    8444713,    1073738759, 1048576,    12604346,   13717171,   2103280,
            4202472,    22057855,   17940028,   7356362,    10505152,   29414214,   23210497,   10512298,   14709660,
            37819153,   27432449,   13665167,   17865595,   45173468,   130252289,  2046,       21020508,   1068487718,
            1047481504, 1047554,    1022,       1073739784, 1068490781, 1049598,    1073740804, 5254108,    27544,
            5251048,    1,          14708639,   61204,      12603323,   4200429,    27310940,   91793,      16809873,
            11553726,   37816088,   122383,     22063980,   18909068,   47272662,   151041,     26268488,   24164194,
            57777812,   178689,     1073739782, 29418297,   1064286273, 205313,     1073739782, 34673423,   1073739784,
            2102258,    2101236,    1071640591, 7356361,    1051642,    10503112,   1072690188, 16811906,   1047554,
            18907025,   1023,       26269492,   1073738760, 26262366,   7353302,    45169385,   1023,       32567087,
            16806813,   57775770,   5254109,    38871808,   26260322,   70381132,   9458617,    1070588952, 33616683,
            1059035228, 12613532,   1072690185, 40972023,   1072690188, 14717826,   4202470,    48327362,   7359418,
            1051642,    13655981,   1066387507, 15769445,   1,          24160110,   1070588952, 24180491,   1,
            33615663,   2101237,    33640111,   2100215,    43070195,   10505151,   68278878,   8402898,    51476152,
            21010302,   82984452,   14707621,   1066386484, 32564026,   1054833781, 18913150,   1073739784, 43069175,
            1071639571, 24166234,   6304722,    52524725,   5264302,    28370742,   15760272,   63029875,   11580233,
            1073740805, 29413194,   1059035229, 17896162,   1073739783, 40968961,   1068488741, 23163513,   0,
            52523704,   3152873,    29478415,   6301665,    64079472,   11559846,   95588865,   14704557,   1061136463,
            21016412,   1050632333, 23109494,   1072690186, 38866705,   1069540378, 29414214,   7357377,    51473090,
            2120612,    35719960,   16814963,   64078451,   4245295,    42024681,   26273568,   76683813,   6367929,
            1069538335, 49370833,   1052732547, 8490564,    1071639569, 63026813,   1065337908, 10612225,   1050620,
            76682792,   3153892,    12733953,   8404938,    1056935016, 11564944,   2103278,    18908046,   1071640591,
            19974968,   2046,       29412174,   6311860,    28386014,   1072690186, 37818129,   13675351,   60925580,
            1072690185, 47272662,   21038839,   75631153,   1073739779, 55678619,   29450900,   90337793,   2046,
            1062187080, 69334590,   1046430886, 1052661,    1069538334, 89286145,   1063236676, 1055725,    2103278,
            1052733569, 2106337,    1023,       11556786,   1070589974, 8422268,    1072690185, 21012333,   3168169,
            14738198,   1072689165, 35714854,   8436540,    21054126,   1047554,    47270620,   12656334,   26320452,
            3151853,    58826388,   16875103,   72498689,   7354323,    69332556,   21093889,   103991809,  10507194,
            1055883377, 71468545,   1041178823, 13659043,   1067437101, 1048532121, 1060086867, 1071639571, 3153894,
            1068490781, 1057759,    1071639570, 11561883,   24479,      3182441,    1072689166, 21020490,   53026,
            5307124,    2101237,    30479093,   79526,      7429759,    8403920,    55674535,   106026,     9551369,
            14706599,   69330514,   130561,     11673089,   19960703,   82986497,   155137,     67293697,   26263385,
            1049581717, 4202470,    3153893,    1065337909, 1064287292, 1051641,    1052662,    1068489761, 2106338,
            1073739783, 1073740805, 1073739784, 9468806,    1072689163, 1072689163, 4203489,    17880871,   1072687116,
            1073739780, 13655983,   25244358,   1070586892, 1047553,    22059897,   33656418,   1070584840, 3066,
            30463812,   80884240,   1069536258, 1053681,    38867727,   96640513,   1052662,    1056744,    1059036250,
            1044329655, 1073740804, 3066,       1066388527, 1061137484, 1072690187, 1073740804, 1023,       1057760,
            1073739782, 1072690188, 7355336,    5278578,    1051641,    1072690185, 15760265,   10546949,   3153896,
            1051640,    29413194,   14765718,   5255128,    5253088,    39918343,   18984487,   7357384,    9454534,
            51472069,   23203329,   1072691208, 12607406,   1053783166, 110294529,  1072689166, 14711703,   1064287292,
            1038027991, 1072689166, 1070589975, 1051639,    1059035227, 1050621,    1071640591, 8410030,    9183,
            5253087,    1071639570, 15768417,   38752,      10506173,   1073740804, 24176400,   66276,      15758237,
            5252067,    50421450,   92776,      19961726,   11554747,   64076411,   118273,     1068488739, 17858451,
            1047481505, 142849,     1070588954, 23112556,   1062186058, 167425,     1072690188, 29415238,   1053682,
            5254108,    3152876,    1064286271, 6316950,    2103279,    10505152,   1067438123, 11581241,   1,
            17858448,   1070589974, 17893082,   1072689163, 25212769,   1051639,    23156345,   1072689162, 32566068,
            9453513,    75632176,   1071636493, 1062187079, 17857428,   1042228419, 1070585866, 1067439144, 26262366,
            1059036248, 1069536261, 1073740804, 34666281,   5101,       1069536256, 6303701,    43069173,   2126719,
            2103279,    15758238,   1055884399, 4246290,    2046,       26261346,   1063236677, 6365860,    1072691209,
            35714854,   1070588952, 8484406,    1072690186, 45169386,   3153892,    10603009,   0,          1056933996,
            11557801,   4204510,    2102257,    1065337909, 24161131,   3066,       4204512,    2043,       34666281,
            1071639569, 6306768,    8406971,    46218982,   1068488740, 8408000,    15764341,   56724132,   1064280109,
            1072691207, 33614642,   1048530079, 1060069423, 1072690186, 45170409,   1059035229, 1055857699, 1071640592,
            57773728,   1070588954, 1052694541, 1073739783, 1050632335, 4206547,    2045,       3151855,    1063236674,
            11564936,   1071640591, 8403918,    1052660,    19972921,   1069539358, 13657004,   7363490,    44118770,
            1068487719, 17859469,   14723917,   56724130,   1065334818, 22062958,   21034741,   70379091,   1064283161,
            1067438121, 55673515,   1040129228, 1064281102, 1069539358, 70378069,   1054833781, 1064280068, 1071638548,
            1044330674, 1069539358, 1068489759, 0,          1061135441, 3161028,    1068488740, 7353303,    5103,
            9472872,    1067439144, 14706600,   4221835,    14737162,   1068488740, 22059897,   8437541,    21049002,
            1069538321, 29413195,   12654271,   67229277,   0,          35717917,   16868951,   84034050,   4201451,
            1060085846, 69343749,   1032775928, 7353301,    1065336888, 1039077588, 1050632333, 1062187080, 1070589975,
            1057985631, 1068488739, 1064287292, 2103278,    6123,       1065910,    1066388526, 10506169,   31604,
            3186505,    1070588954, 21009280,   55039,      5306075,    1051642,    30463812,   77450,      7425645,
            7353301,    39918344,   99861,      9543169,    13655983,   49372876,   121345,     67264001,   19957642,
            1051682951, 6304719,    6304720,    1054834804, 1061135441, 2102255,    2103276,    1060086868, 1070588953,
            1072690186, 1072691206, 1066387505, 4204508,    1068489761, 1069540379, 1072691209, 11561881,   1065326641,
            1066384423, 5254105,    19967825,   1060060217, 1062175792, 14706599,   39916301,   1056889901, 1057963051,
            23110515,   51472068,   1053719569, 1054799897, 31514430,   63026811,   2103277,    1050589184, 1047481504,
            1044329654, 1073740804, 1052660,    1056933994, 1056933993, 1070588952, 1072691206, 1066387506, 1069539356,
            1068487718, 1070589975, 1051638,    4208588,    1065331752, 1068488739, 7358389,    10519416,   1062175780,
            1066385444, 13666161,   17878817,   1059019801, 1065332766, 33613621,   25239241,   1055864841, 1064281108,
            44118770,   63025792,   1071640589, 1064280073, 1040128205, 76681771,   1069540377, 1064280064, 1052733568,
            1036976354, 1068488739, 1068490781, 1065338931, 1052733569, 1068487718, 1068489762, 1055716,    1068489760,
            1067436058, 1067439143, 6315921,    2113469,    1068487693, 1068487719, 11577148,   6330200,    1072688131,
            1067438106, 16837350,   10545906,   1050619,    1071639560, 56724133,   14761611,   1065338931, 2101238,
            1032775928, 18976291,   1066388528, 5253088,    1049581719, 90336769,   1067438124, 8404939,    1065337909,
            1029624078, 1069538335, 1061136461, 1058771,    1048532121, 1072689159, 1063237698, 3176301,    1067440165,
            3152875,    1065337910, 5292807,    18352,      8403917,    1068488741, 6359713,    42809,      13655983,
            1071640586, 8475195,    66244,      1059035229, 4202472,    6303691,    88656,      1062187080, 10504130,
            3061,       111105,     1066388528, 16806812,   1068490782, 131585,     1071639570, 23109495,   1063235655,
            9454527,    3152875,    1052732547, 1055871076, 4203487,    10505151,   1057984612, 1047437404, 2045,
            17858449,   1063236675, 1039006789, 1070589974, 26260324,   1069539358, 1032675354, 1067431976, 1051681930,
            2101234,    1072696313, 1062169656, 1059034207, 10505153,   1069541398, 1057950774, 1066387505, 18908045,
            1065338930, 1054780449, 0,          27311960,   1062186060, 1052659712, 6306760,    36764451,   1055878234,
            3154913,    18908047,   1043279035, 1045358665, 3065,       28362580,   1051683973, 1036944435, 1071640590,
            37816088,   1061136462, 1028530195, 1069538335, 1044329655, 1070589973, 1066390569, 1066384422, 1054833781,
            4205526,    1064289335, 1063229479, 1066387507, 10512276,   1063236676, 1060073504, 1053677,    27312982,
            1062185038, 1056917521, 7361443,    38866707,   1059032142, 1054812160, 13670231,   50420432,   1048524852,
            1072691208, 38865685,   1033826547, 1043272736, 1070590995, 50421452,   1046430886, 1041168394, 1069538335,
            1036976354, 1059036250, 1059036250, 1068487718, 1050633355, 1072690189, 1059036247, 1066387488, 1065337908,
            4210619,    1060086867, 1067437076, 1057755,    9470823,    1062186059, 1070586887, 5270399,    14731025,
            1064286270, 1047552,    8434466,    50420430,   1057985564, 2101237,    12647107,   64075389,   1063237642,
            1065337908, 63025791,   1025421609, 1073737729, 1066387505, 1029624078, 1041178823, 1050632334, 1066388526,
            1047481506, 1056935014, 1053784184, 1068487719, 1065337911, 1073740805, 1059034208, 1069539346, 12234,
            2117536,    1063236676, 1051642,    32603,      4234042,    1068488740, 6302684,    52973,      5301972,
            0,          10505150,   72320,      7417454,    6302684,    15757217,   90642,      67238436,   12605366,
            1056935016, 10503093,   9453495,    1041179843, 1060086867, 3152869,    3153888,    1049580695, 1064287292,
            1070589972, 1071641610, 1056933994, 1068489762, 1063236676, 1065338931, 1065336890, 0,          1055868008,
            1060083804, 1073739784, 7353301,    1049525349, 1050602590, 4205521,    14706600,   1044234317, 1043222611,
            15758238,   22059898,   1039992861, 1035840561, 25210729,   29412173,   3152866,    1029510144, 1032775928,
            1047481503, 1072692230, 1054698,    1044329654, 1054833781, 1067439144, 1071642632, 1054833780, 1062187081,
            1062186058, 1067440164, 1066388528, 1070588953, 1055874143, 1064286271, 1054698,    3153892,    1045349459,
            1060084825, 5263264,    9459626,    1036927036, 1049565263, 10520404,   23110514,   1028504598, 1041152064,
            37815067,   33613622,   1070592017, 1032736804, 1024372013, 43068154,   1067439142, 1024324608, 1039077589,
            1038029015, 1064287291, 1067441185, 1053783165, 1049581718, 1062185038, 1065339952, 1067439142, 1060085844,
            1056930901, 1064287294, 1059787,    1071639568, 1045368895, 1062186057, 3173230,    4207561,    1039060010,
            1061135442, 4237073,    10516349,   1031702542, 1050628157, 6349491,    16824112,   1062189121, 1045375018,
            8400823,    44118769,   1062187079, 1042221077, 3059,       56723111,   1062186060, 1040117760, 1065339952,
            1029624078, 1062185037, 1057986652, 1056932974, 1044329655, 1061135431, 1059036249, 1047477421, 1057985632,
            1051682856, 1060085846, 1034807442, 1072691209, 1051681813, 1061136464, 1024245856, 3164077,    1053782021,
            1063235654, 1015796772, 7376720,    1054833780, 1055886375, 1072696307, 10540787,   1056935016, 1060086802,
            1068490782, 14753428,   1059036250, 1068487684, 1062187081, 70379091,   1062187080, 2100218,    1055882357,
            1021220164, 1066387506, 1048532122, 1049578656, 1038027992, 1065338895, 1052732547, 1029586051, 1055885420,
            2100218,    1055885420, 1012746322, 1072693249, 6302685,    1061135442, 999066654,  22419,      1046430889,
            1066386485, 1065339951, 42788,      1051682952, 1067440142, 1061138504, 62135,      1057984613, 3151854,
            1057985634, 81481,      1064286272, 9453513,    1054832762, 99841,      1070589974, 15756196,   1051679889,
            13653917,   4201450,    1038027993, 1030658163, 6303693,    11554749,   1045380270, 1009638466, 1072695293,
            18908048,   1052733569, 995974167,  1066389548, 1036978398, 1061135443, 1054836844, 1059035229, 1046430887,
            1068489762, 1054834802, 1052693605, 1055884399, 2102253,    1053784184, 1047404636, 1065337909, 11555768,
            1053783165, 1042112567, 3065,       21008259,   1053782144, 1038922752, 5259192,    29412174,   1036976225,
            5254096,    21009279,   1027523865, 1017018415, 4084,       31512386,   1038027991, 1010714639, 1069541399,
            1028574483, 1049581717, 1045382313, 1064288313, 1041178822, 1061135442, 1048531100, 1060084827, 1054832760,
            1071640590, 1050632334, 1049559127, 1067438123, 3158981,    1053783166, 1041138762, 1056731,    8416122,
            1056933996, 1032715307, 4217735,    31514430,   1051684940, 1024294912, 8427315,    43068153,   1036986394,
            1071643653, 44117749,   1017019737, 1044336646, 1068490780, 1020170568, 1031725313, 1035926759, 1065338929,
            1036976356, 1046429865, 1041179844, 1063236677, 1052732546, 1061135441, 1047481505, 1061134422, 1068489761,
            3066,       1053783164, 1049572422, 13244,      2116509,    1060085846, 1042213942, 30550,      3180352,
            1067437102, 1034856477, 46832,      5293794,    1070589955, 1029598208, 62089,      56724132,   6301664,
            1063238718, 13647770,   12599195,   1025423653, 1062188100, 3151837,    4201428,    1034877164, 1062186058,
            1067440163, 1070590993, 1044330675, 1062185037, 1056933994, 1061136463, 1053784186, 1062186060, 1046427827,
            1051680909, 1064286271, 1052732466, 1038990489, 1041143974, 1073740805, 1051681822, 1033666663, 1029521526,
            3156934,    1052731404, 1029405734, 1020020804, 17858451,   1055883264, 3152853,    1012623360, 1015968098,
            1053784186, 1071642633, 2103262,    1028573460, 1055884398, 1063238717, 1071642632, 1041179845, 1057985633,
            1055883377, 1065338931, 1054833783, 1061135442, 1048528038, 1059034207, 1067439145, 1064287294, 1031671946,
            1052730506, 1056729,    1061138459, 1017971801, 1040111771, 2117510,    1070589957, 1006382113, 1020111974,
            4226867,    4201452,    1069542417, 1005381690, 9445283,    9452495,    1064290355, 992753664,  2033,
            1043280057, 1060085846, 1066392610, 1062188099, 1048532120, 1054832760, 1063238716, 1050630293, 1054833783,
            1050629273, 1060085845, 1038022889, 1061135443, 1029597307, 1055884398, 1023242462, 1067438123, 1009619018,
            1052731526, 1011585157, 0,          995947547,  1044323471, 1002058795, 7354323,    1060087885, 1016994899,
            1072696299, 14706598,   1057986654, 1003330605, 1066390566, 23108473,   1055884397, 990716928,  1057985634,
            1032775929, 1053783164, 1055886440, 1048530078, 1042228419, 1052730505, 1054835823, 1040124124, 1051681931,
            1032768618, 1054833782, 1020125399, 1061135442, 1011755065, 1053783163, 993797244,  1070588952, 1001246739,
            1053782143, 974841894,  3154905,    1050633354, 1053781120, 1063241780, 8411031,    1051682951, 1022269503,
            1057987674, 26261345,   1052732547, 1013866527, 1052733568, 36764452,   1053783166, 1007563776, 1047479464,
            1022271801, 1055882358, 1044331695, 1041175760, 1034877164, 1043280983, 1046431906, 1023301838, 1047481503,
            1025429541, 1049581717, 985449586,  1061135442, 1024378891, 1052731526, 959164449,  1073740804, 1040130248,
            1055882357, 1051686011, 3162033,    1044331696, 1059033186, 1049584781, 6323037,    1049580695, 1035935783,
            1047482526, 9483016,    1053783165, 1040136206, 1045379248, 50420431,   1059034209, 1049587712, 1043276994,
            1011767673, 1062187074, 1032775928, 1033821381, 1028573462, 1051691022, 1039077589, 987590759,  1044330675,
            1070588929, 1044330675, 958173211,  1061135441, 1030674694, 1050632335, 1041179843, 4080,       1038027992,
            1056933993, 1042229439, 21385,      1046429866, 1064285250, 1043279035, 38691,      1053783163, 1059041293,
            1044328631, 54972,      1062186059, 3149811,    1045379251, 70230,      1070588953, 9452493,    1046428847,
            18895738,   4202472,    1021221185, 1001271386, 8399803,    12604345,   1030674696, 973965331,  1071644672,
            1021220163, 1040128208, 1029625098, 1062187078, 1031725312, 1049581719, 1033826545, 1051680910, 1043279036,
            1059035229, 1038027991, 1042185388, 1054832760, 1068488738, 1043279038, 1036848254, 1065337908, 1054693,
            1047480484, 1031535689, 1052655,    13655983,   1052730506, 1027278848, 3162022,    23109495,   1029635148,
            6302652,    24161132,   1009665418, 1007590411, 4078,       1010717057, 1022270779, 1018070353, 1067440162,
            1025422631, 1034877164, 1026473250, 1060085847, 1040128206, 1048531102, 1033826546, 1051681932, 1054833781,
            1061136464, 1042228419, 1040103585, 1069539358, 1073740802, 1050630292, 1023243374, 11203,      1062831,
            1057984613, 1011651647, 24422,      3172188,    1065336887, 1001114624, 37640,      36765473,   1064291329,
            1071644672, 16787328,   14691199,   1007564184, 1067441186, 4198358,    5247945,    1018070354, 1062188100,
            1065338931, 1068491802, 1029624077, 1056935015, 1050631312, 1055885420, 1041178824, 1052731528, 1036973295,
            1044326591, 1052732547, 1042218133, 1028471010, 1031706885, 1063237697, 1016980573, 1024149641, 1016885428,
            0,          1002258484, 1019863085, 1006291026, 1059769,    989637632,  4199367,    998878208,  11535247,
            1061139525, 1070593036, 2102222,    1072694257, 1059037269, 1060086866, 1070594057, 1059037270, 1056936037,
            1049580698, 1062188100, 1044327612, 1054833781, 1039073506, 1052733568, 1028568356, 1053781123, 1021159643,
            1044327613, 1012743488, 1048528008, 1001117825, 1034872059, 999984320,  1018058825, 987401257,  1005384875,
            990423104,  1006499878, 1069543439, 983263306,  1072694243, 995993600,  1062189120, 967471104,  1064291374,
            1049584780, 1054834801, 1066392609, 1052735611, 1050634377, 1047480483, 1061138503, 1042226377, 1051683973,
            1040126166, 1054835821, 1029621017, 1052733569, 1020140754, 1049581716, 1011732800, 1054832762, 988573816,
            1044327612, 979057856,  1056931954, 965429284,  1039073508, 955868224,  1027529779, 1057988696, 1003324578,
            1062192183, 1024378903, 1053786227, 969676865,  1054836843, 1025428480, 1050632335, 950751232,  1047481504,
            1038030036, 1046429868, 1052737651, 1039077590, 1042230460, 1042226377, 1050635396, 1031721230, 1047480484,
            1027512522, 1048533142, 1021209920, 1051681931, 985471085,  1046430887, 970718400,  1055884399, 957094942,
            1044328633, 932851776,  1061135442, 1046432927, 1042226379, 1048536203, 1046439963, 1046430886, 1009654935,
            1045382311, 1060089862, 1045380269, 967628853,  1041179844, 2100216,    1045378228, 949768192,  1036976355,
            1026474268, 1044327611, 1040131269, 1032772868, 1034876143, 1043275968, 1041180865, 1027519783, 1042229441,
            992858209,  1042230461, 972869824,  1049582739, 963446807,  1043280057, 923473984,  1057984611, 1034878182,
            1044329653, 1035929820, 1066387506, 1038027992, 1046427825, 1035927778, 0,          1041177801, 1026475147,
            1034877161, 8402897,    1043280059, 978167848,  1034875121, 15756194,   1046429868, 969764864,  1033823483,
            1014919525, 1049579676, 1027524886, 1032771846, 1026473250, 1013879891, 1031726333, 989704384,  1038026974,
            988679183,  1035927780, 929832000,  1048532122, 1024372013, 1041177802, 1023323437, 1060085846, 1029625097,
            1045379249, 1026474269, 1071639570, 1035927781, 1049581719, 1029624077, 2107338,    1042229440, 1054831741,
            1032773887, 5265281,    1048531100, 1004439577, 1034875121, 29413196,   1054832759, 1012840448, 1038023910,
            1003363758, 1048538181, 1013869928, 1022273728, 1018069332, 1032794118, 1022271801, 955070528,  1032775931,
            1012817268, 1030673674, 1010718077, 1047481505, 1022271802, 1038027995, 1017020759, 1062186057, 1031725312,
            1046429867, 1023322417, 4082,       1041179845, 1053783164, 1029625100, 17300,      1051681932, 1062185038,
            1035926760, 31543,      1061135443, 1046445064, 1042227398, 43738,      1070587931, 2101238,    1048529061,
            23082840,   4202470,    1001263546, 999189568,  10492842,   1001262523, 1012817269, 998111693,  1071643653,
            1014917482, 1024372015, 1008614800, 1057985633, 1027523866, 1035925738, 1018069332, 1044326591, 1041177802,
            1046430885, 1027523865, 1030647048, 1053783163, 1057985634, 1038026974, 1026306232, 1066388527, 1069538336,
            1047479462, 1022000214, 6114,       1054685,    1055883376, 1018778624, 16272,      15756194,   1064287294,
            8396710,    19923815,   17826659,   0,          3049,       4195281,    5243838,    0,          1065339951,
            1062188100, 1066391588, 0,          1054833782, 1045378230, 1051681929, 0,          1044326590, 1027518762,
            1035923696, 0,          1032766722, 1015870784, 1021214041, 0,          1010610352, 1013594304, 1005307136,
            0,          993728591,  1011372096, 994674816,  0,          981076992,  4195256,    987235328,  0,
            1070598135, 1069543440, 2098111,    0,          1065341992, 1055886440, 1069545481, 0,          1059036248,
            1043276995, 1059037268, 0,          1051681930, 1029618975, 1047481506, 0,          1044327612, 1011713344,
            1035923697, 0,          1036972272, 988472512,  1024365890, 0,          1003305127, 971572288,  994863360,
            0,          974897222,  1068495885, 966409344,  0,          957014016,  1059040333, 946381824,  0,
            1060089930, 1050632333, 1065345054, 0,          1055887461, 1040128207, 1057989713, 0,          1051684993,
            1030670612, 1050635397, 0,          1048531102, 1014899008, 1043280058, 0,          1044328634, 973839552,
            1035923698, 0,          1040125143, 943310912,  1027518763, 0,          1005440156, 1055888481, 993860864,
            0,          966554683,  1049585801, 950732928,  0,          947637248,  1044330674, 918124544,  0,
            1046433948, 1038026973, 1050637436, 0,          1046431907, 1031722249, 1047483545, 0,          1045381289,
            1025417528, 1043281078, 0,          1045379248, 969696448,  1039077588, 0,          1044328631, 926590016,
            1034874100, 0,          1044326590, 1042233524, 1030670613, 0,          1017016465, 1040131269, 1003347200,
            0,          971848751,  1038029015, 946594944,  0,          957144064,  1035925738, 903504896,  0,
            1033827566, 1032773887, 1035930841, 0,          1036977375, 1030670614, 1035928799, 0,          1039078609,
            980237504,  1035927782, 0,          1042228418, 924555328,  1034876141, 0,          1045379251, 1029627141,
            1033825526, 0,          1048529060, 1030676736, 1033822464, 0,          1040129157, 1032774907, 1025419520,
            0,          989729824,  1033824504, 958192768,  0,          988680192,  1034874102, 905670656,  0,
            1021221183, 1034874102, 1022272821, 0,          1027522843, 1004416192, 1025423653, 0,          1032776951,
            940352576,  1027524885, 0,          1039078611, 1017020757, 1030674694, 0,          1045380270, 1022271802,
            1033824504, 0,          1051681929, 1026473247, 1035925739, 0,          1057983589, 1031723269, 1039074528,
            0,          1023344657, 1035924717, 986571904,  0,          1045392384, 1040126166, 925669376,  0,
            1007566225, 1044326592, 1007567248, 0,          1017020759, 973983808,  1013868906, 0,          1027522845,
            1004415397, 1020171588, 0,          1036976354, 1012817268, 1026473246, 0,          1046430888, 1021220163,
            1032775930, 0,          1055884399, 1028574482, 1039077590, 0,          1065337911, 1036976355, 1045378229,
            0,          0,          1044329654, 1033832576, 0,          8404940,    1051681931, 967696384,  0,
            994959843,  1029641280, 992860651,  0,          1007566227, 991809013,  1003363759, 0,          1021220162,
            1003363757, 1012818290, 0,          1033826546, 1014918502, 1023321398, 0,          1047480483, 1026473247,
            1032774907, 0,          1060085845, 1038027993, 1042229442, 0,          1072690185, 1049581718, 1051681931,
            0,          11193,      1060085846, 1060085847, 0,          20327,      1070588954, 1033848832, 0,
            27263799,   0,          0,          0,          12583834,   0,          0,          0,          1070593035,
            0,          0,          0,          1053783165, 0,          0,          0,          1036972272, 0,
            0,          0,          1019112805, 0,          0,          0,          1014723840, 0,          0,
            0,          1012478080, 0,          0,          0,          1011352576, 0,          0,          0,
            9438096,    0,          0,          0,          995,        0,          0,          0,          1062190140,
            0,          0,          0,          1049581717, 0,          0,          0,          1035923696, 0,
            0,          0,          1022265677, 0,          0,          0,          999036160,  0,          0,
            0,          978968704,  0,          0,          0,          965231616,  0,          0,          0,
            1070597102, 0,          0,          0,          1064292397, 0,          0,          0,          1054836845,
            0,          0,          0,          1045380270, 0,          0,          0,          1035923697, 0,
            0,          0,          1025417527, 0,          0,          0,          992788736,  0,          0,
            0,          956997760,  0,          0,          0,          930679808,  0,          0,          0,
            1057991757, 0,          0,          0,          1052736629, 0,          0,          0,          1047482525,
            0,          0,          0,          1041178823, 0,          0,          0,          1034875123, 0,
            0,          0,          1028570400, 0,          0,          0,          997030144,  0,          0,
            0,          946566272,  0,          0,          0,          908717056,  0,          0,          0,
            1043284139, 0,          0,          0,          1041181884, 0,          0,          0,          1039079630,
            0,          0,          0,          1036977376, 0,          0,          0,          1034874101, 0,
            0,          0,          1031722251, 0,          0,          0,          1012809984, 0,          0,
            0,          950819968,  0,          0,          0,          902490112,  0,          0,          0,
            1029626119, 0,          0,          0,          1030675714, 0,          0,          0,          1031726333,
            0,          0,          0,          1032775929, 0,          0,          0,          1033825527, 0,
            0,          0,          1034874102, 0,          0,          0,          1035922678, 0,          0,
            0,          970808448,  0,          0,          0,          913047552,  0,          0,          0,
            1014919523, 0,          0,          0,          1019121991, 0,          0,          0,          1024373036,
            0,          0,          0,          1028574482, 0,          0,          0,          1033824505, 0,
            0,          0,          1038025953, 0,          0,          0,          1042226378, 0,          0,
            0,          1007580288, 0,          0,          0,          943536128,  0,          0,          0,
            1000213949, 0,          0,          0,          1008616844, 0,          0,          0,          1017018715,
            0,          0,          0,          1025421610, 0,          0,          0,          1032775930, 0,
            0,          0,          1041177804, 0,          0,          0,          1048530080, 0,          0,
            0,          1055882358, 0,          0,          0,          997101568,  0,          0,          0,
            986555903,  0,          0,          0,          998110673,  0,          0,          0,          1009665418,
            0,          0,          0,          1021220162, 0,          0,          0,          1032774908, 0,
            0,          0,          1044329655, 0,          0,          0,          1054833782, 0,          0,
            0,          1065336888, 0,          0,          0,          0,          0,          0,          0,
            1023,       1023,       1073740802, 0,          1049599,    2099196,    1050621,    3149814,    4197366,
            6297583,    5250027,    9448411,    7348197,    9449432,    13648838,   17850284,   11552706,   16805791,
            22053773,   25209706,   22060918,   26266447,   29414217,   32569130,   30470956,   33626890,   35724042,
            39927530,   37830379,   40985292,   43082442,   47285930,   44140205,   1,          50440843,   1,
            1073739782, 4199408,    1072690185, 5250026,    1050619,    12599240,   2100216,    14701496,   7350240,
            24152965,   9450453,    28354412,   17851305,   33611578,   21003157,   37814047,   30455647,   37822214,
            33609540,   44122854,   35716896,   45179594,   40968961,   51480233,   42024681,   53586569,   47276745,
            59888231,   49383082,   1047555,    55683720,   1073739783, 57791080,   5252068,    64091718,   6301663,
            1071640592, 16802731,   1070588953, 17854366,   2101238,    30456667,   2101237,    31509325,   10502091,
            40965900,   11552705,   43068154,   23105412,   49373897,   24158071,   53575344,   35711794,   57780873,
            37813027,   63032937,   45170409,   66188869,   48322260,   72490530,   52528809,   1072689165, 58828428,
            1071639571, 61985383,   6303705,    68286022,   7353299,    70393378,   18907026,   77743617,   18910087,
            1068488740, 32561983,   1066387505, 32565040,   2101237,    46217961,   2101236,    48320217,   12604344,
            57775768,   12607407,   61977218,   25209705,   68283979,   25212764,   73536046,   39914260,   79840769,
            42016517,   86142465,   52521664,   1070588953, 55673517,   1069538335, 63029873,   7355342,    68280919,
            7356362,    73538085,   18912124,   79838725,   18915185,   85094913,   31520546,   92445185,   31524627,
            1064287293, 51471047,   1063235656, 44134066,   2101236,    65129067,   2101237,    69329493,   13658022,
            78787089,   12611486,   84038145,   25216848,   92444161,   25219907,   98744833,   38873843,   1068488740,
            37829347,   1067438121, 58824345,   6308807,    61976197,   6308804,    72482366,   17869671,   76683812,
            16823134,   86139393,   29430532,   91391489,   27336437,   98747905,   40992414,   106099201,  37850762,
            1061135442, 71432765,   1060083804, 47315486,   1052662,    89289217,   1052663,    94540289,   12613527,
            105046529,  11565969,   111348225,  24174390,   1066388526, 22080298,   1065338931, 35735250,   5261250,
            32593600,   4212672,    47297131,   13679444,   43107924,   11584331,   80885259,   23146214,   76696065,
            17906391,   97692161,   31563382,   102944257,  25276002,   113449473,  41029124,   120800769,  32644609,
            1057984612, 79863297,   1056932973, 38965761,   3064,       117648897,  3066,       123950593,  9469835,
            1065336888, 7374726,    1064287293, 18936605,   2116542,    14745361,   1067964,    27354798,   7392067,
            22114973,   4248378,    36820541,   12666568,   28436007,   6378170,    45237761,   17940046,   35805697,
            9555514,    109244929,  22163969,   79883777,   11682305,   127102465,  27435521,   134452737,  13809153,
            1054833781, 74662401,   1053783165, 15934977,   2043,       1063237697, 2045,       2046,       5278592,
            20410,      2133883,    1049599,    10553093,   56114,      5313274,    2100218,    14779019,   89771,
            7442042,    6299623,    20051472,   121382,     10619393,   12605366,   25324033,   153089,     12746241,
            18912130,   29547009,   182785,     14872065,   24167253,   134461953,  211457,     67342849,   28374827,
            1051683973, 1050619,    2044,       1073740802, 1072695294, 1049598,    1023,       0,          37749,
            2096130,    1050621,    5250025,    72430,      1047555,    3149811,    13651900,   106089,     5253087,
            9451474,    24157048,   137729,     13659043,   15758235,   29414214,   167425,     18916212,   22063979,
            34671383,   197121,     23121741,   26271552,   40977125,   225793,     0,          31526678,   1072690185,
            1051641,    1023,       1072693249, 0,          1050621,    3150834,    1047554,    7352279,    1048576,
            10500048,   2101239,    17856408,   2096131,    19955602,   8400856,    28362579,   1051641,    24163171,
            19953559,   37817108,   9456576,    29419318,   26262366,   46223065,   16811914,   34675464,   31518511,
            54629022,   21018464,   1073740805, 37824254,   1069538335, 24175418,   1023,       45178572,   1051641,
            1022,       6301664,    1072689165, 9455554,    1,          15755175,   1073739783, 19960699,   2100218,
            26260325,   3150832,    33614641,   5251047,    33616684,   12604345,   45170407,   15752111,   40972024,
            24158069,   56726174,   22059897,   48327362,   33614643,   67232342,   26267469,   1071638548, 42020599,
            1065337910, 32572191,   2045,       50426556,   1052660,    37828337,   8403917,    58831488,   11557804,
            1073740805, 19957642,   1066387504, 21016413,   1073740804, 31512387,   1072689165, 32573193,   2101235,
            42018557,   5253088,    53572280,   10503111,   51475131,   14707615,   66179683,   22055813,   60930682,
            28361559,   79835663,   30462791,   1067438123, 39917324,   1062186059, 36769554,   1052662,    51473090,
            1052660,    44124893,   10507190,   61979258,   10513307,   51481254,   21013356,   72485427,   18926399,
            1069539357, 36765471,   1060085846, 28387040,   1072690186, 49371856,   1071638549, 37848703,   3152874,
            61977217,   6305745,    76682792,   13655980,   73534003,   15763334,   92439041,   26259302,   1064286272,
            26270516,   1059034207, 36765472,   1052660,    46220003,   3063,       46222044,   10512291,   59875982,
            7370637,    55678619,   21020494,   73531961,   13688611,   65134170,   31528693,   86139393,   20005559,
            1063236675, 56725152,   1054833782, 26323530,   1071639569, 71431750,   1069538336, 32640513,   6303704,
            86137345,   5259208,    105042433,  15760274,   1060085845, 14719854,   1054834802, 26267461,   1052661,
            24180496,   3067,       43069175,   8418196,    33642160,   2129792,    55674536,   16831281,   68279896,
            5305095,    67231322,   25245388,   85084673,   7429774,    79836684,   33659492,   99793409,   9554453,
            1057983590, 73542151,   1049582739, 11677185,   1070588954, 98740737,   1067438123, 13799937,   6306764,
            1056935017, 3163074,    1052661,    15765369,   3065,       10529624,   0,          26274594,   5274503,
            16847597,   1073739783, 36783815,   9496341,    23164544,   1,          64078451,   13718178,   29481490,
            3151853,    78784025,   18987567,   74610177,   6304726,    93490689,   23207425,   113446401,  8408000,
            1052732549, 72532481,   1045380270, 10511276,   1068488741, 1053783164, 1065337910, 0,          4210629,
            2044,       1066941,    1073739783, 12624739,   33658,      4242244,    1073740804, 21038847,   64250,
            6367947,    3151855,    29451928,   92794,      8491602,    9453515,    36817456,   121345,     10615297,
            14706598,   90337793,   147969,     12739073,   18911108,   107143681,  173569,     67309057,   23114595,
            1047481505, 2103279,    2103278,    1071639568, 1066387505, 1050620,    1051642,    1072689165, 2114496,
            1073739783, 1073740804, 0,          7385934,    1073738760, 1073739782, 6303706,    11607772,   1023,
            1051640,    14706601,   16877161,   2103279,    4204514,    22060919,   21096961,   3156959,    7356363,
            29414216,   25316865,   4209616,    9459638,    35718938,   120797697,  3066,       11562914,   1067437101,
            1043279036, 1073740803, 2044,       1071638549, 1064287292, 1073739782, 1073740804, 2102259,    18363,
            2100216,    1073739784, 9455553,    49978,      6302684,    1050620,    19958663,   79546,      10506174,
            6302686,    29413193,   107067,     13660066,   11555768,   38868749,   134657,     16812936,   16808852,
            48322257,   160257,     1073739783, 21013364,   1062185037, 185857,     1072690186, 25216851,   1069539356,
            3153896,    1047554,    1071639571, 3153892,    2101237,    5252069,    1072689166, 11559845,   1047554,
            11555770,   1072690185, 21015391,   1073738762, 17859470,   3151855,    37816090,   1073739780, 24163174,
            10505154,   49370833,   1051639,    29417279,   18908048,   60926600,   2105319,    1069539357, 25212767,
            1055884397, 4207575,    1071639569, 32566065,   1068488740, 4211657,    1051642,    38870788,   4205529,
            1052661,    8403918,    1065336888, 11564938,   1023,       16807832,   1069538337, 19973942,   1073739782,
            26261344,   1073739782, 28383968,   1047554,    33616683,   5254108,    58825364,   4201451,    42020598,
            14707621,   73529919,   8403917,    1064287293, 25210728,   1051681931, 11558832,   1070588952, 34665259,
            1066388526, 14711701,   3151851,    44119791,   3158992,    17865595,   10507187,   52525748,   8424303,
            1073739782, 23109493,   1057983589, 14738189,   1072691208, 33614642,   1065337909, 21052074,   1072691209,
            44119791,   1,          26317380,   2101238,    54624941,   7356358,    86134273,   8403920,    1059035229,
            16811907,   1046430888, 15756195,   1069538336, 31514430,   1064288313, 21011322,   4204510,    43069174,
            1062856,    26265426,   12611479,   54624941,   3185495,    31519531,   21019467,   66179684,   5307109,
            1068488740, 40968962,   1050631313, 7427700,    1070589975, 54622899,   1062187081, 9548290,    1073739784,
            67228260,   1023,       11667969,   4202470,    1053783164, 7361458,    3153894,    12606387,   1067439145,
            15769440,   2044,       22058876,   3157972,    24179467,   1072689165, 30463813,   10519420,   52521663,
            1070588947, 37819152,   17880866,   66177642,   1069535255, 46223068,   25242309,   79833621,   1067430935,
            1061136463, 64077430,   1043280057, 1065327632, 1067438123, 79832602,   1059035228, 1064273926, 1073740803,
            1048532121, 1072693248, 2046,       6305745,    1065338931, 5267360,    1072690188, 15759252,   2110412,
            11581247,   1070589973, 28362579,   6329187,    17895132,   1070588947, 38866705,   10546937,   23160439,
            1072688137, 49371854,   14764686,   70388259,   2046,       59877004,   18981411,   93488641,   2103280,
            1053783164, 70405633,   1036977376, 4203490,    1064286271, 1044329655, 1055883376, 1069540377, 0,
            1063238718, 1072693249, 1069540379, 8407995,    15301,      2124687,    1070587931, 16814962,   41803,
            4246302,    1071639564, 25222947,   67282,      6367917,    2102260,    47271642,   91738,      8488507,
            7353300,    60925579,   115201,     10608129,   11556789,   73530940,   137729,     67278337,   16808855,
            1047479461, 5254107,    5254107,    1064287294, 1061135442, 1052660,    2102258,    1066388526, 1023,
            1072691208, 1073740805, 1069539356, 7362473,    1071637522, 1071639570, 0,          14723919,   1068483613,
            1070587924, 7353302,    22085364,   1065324579, 1068483608, 14706600,   29447829,   1063214107, 1066379284,
            22059898,   72479304,   1061104650, 1065325579, 29413196,   87185921,   1053682,    1063223296, 1056935015,
            1040128205, 1073740804, 1051639,    1063237697, 1056935014, 1071639569, 1073740805, 1070588952, 1072693248,
            1070588948, 1071639569, 3152873,    4219800,    1070586897, 1070589974, 10507186,   8438574,    1070586891,
            1071638543, 22059897,   12655300,   1071636485, 1073739780, 31514429,   16873049,   1071639553, 1052663,
            42017537,   21089793,   1072690187, 3153897,    1050632335, 100839937,  1071639571, 5254107,    1060086867,
            1033826547, 1070588952, 1069540378, 1070589973, 1053784186, 1070589969, 1070588953, 4206547,    1073740802,
            0,          1069539356, 11562891,   28552,      4201450,    1070589974, 18921281,   55054,      7354323,
            1047553,    42017536,   79510,      10506173,   4203492,    53573302,   102942,     1067438123, 9455557,
            1044329655, 126465,     1068488740, 14706598,   1057984613, 148993,     1069539356, 18910088,   1071639571,
            7354318,    1072690183, 1062187078, 4210621,    3152872,    4203493,    1065337910, 9472869,    1023,
            10505151,   1068487718, 14735115,   1071640591, 16807832,   1072689167, 19996335,   1070585878, 23110514,
            3152875,    66177643,   1067428898, 1061135442, 10505151,   1038026973, 1064269857, 1065336888, 17858449,
            1054833783, 1062159379, 1070588954, 25211747,   1071639570, 1060049920, 2101237,    32565046,   2116521,
            3152873,    9455557,    1053784185, 4235071,    2043,       17858449,   1060085844, 6352597,    1072690187,
            27310940,   1067437101, 7421547,    1071638548, 35714855,   1047554,    9538049,    1070587922, 1053783163,
            6305742,    5254101,    1070586894, 1062186058, 16808855,   3063,       1070586888, 1070589975, 27310939,
            1070589975, 1071637507, 4203486,    36765471,   1065337909, 1072689152, 11559839,   46220003,   1060071491,
            1072691207, 26261345,   1045380269, 1053754438, 1071640590, 36765471,   1055883377, 1047433269, 1070589975,
            47270620,   1065337908, 1042160660, 1070589975, 1047480483, 1052661,    1072695291, 1072689161, 1059035228,
            8409008,    1070590994, 2101237,    1070589972, 14717799,   1067439143, 5254110,    4208584,    35715876,
            1065336889, 8405959,    10518392,   48320219,   1059029049, 11557810,   17876774,   59874962,   1054821426,
            1066388527, 47269600,   1036977375, 1049565218, 1067439143, 59874961,   1050632334, 1045357580, 1068489761,
            1041177802, 1064287292, 1067440164, 1071638548, 1055884398, 1054697,    1066388526, 1051639,    1071639570,
            6316945,    1065337910, 7354322,    3164083,    11579192,   1065336889, 13657003,   7378770,    17890013,
            1061134379, 19959685,   10543856,   59873942,   1061134363, 26261343,   14757517,   73529919,   1063233548,
            1057985631, 68282946,   1029623057, 1066385410, 1063236677, 1033826545, 1046429866, 1060086865, 1067438122,
            1052733568, 1063236676, 1062186058, 1072691209, 1071639569, 1056734,    1063237697, 5253085,    21407,
            3176308,    1066387507, 13657003,   43820,      5293834,    1066388503, 22060918,   65211,      6362784,
            1047553,    31513409,   85578,      8480310,    5252068,    39917324,   104961,     67250689,   10503111,
            1049582739, 8403906,    7355332,    1052733569, 1057984611, 2103274,    3152870,    1056935014, 1066387505,
            1071640591, 1072691208, 1062187080, 2043,       1066387506, 1068487718, 1068487719, 7357375,    1061118024,
            1063235651, 0,          14713725,   1054793807, 1056914503, 7353300,    31513408,   1050562622, 1050594368,
            14706599,   42018557,   1046332440, 1045321766, 22059898,   53572283,   2104296,    1040050176, 1044330674,
            1041178822, 1072692229, 1053680,    1052733569, 1052733568, 1068489759, 1072691207, 1061136462, 1065336888,
            1065336887, 1069539357, 1070588953, 1053678,    1059025982, 1066387505, 3153887,    7363488,    1053763644,
            1064286272, 9459617,    13673295,   1047449643, 1056925751, 25209705,   21031676,   1041136656, 1051668523,
            34664237,   53572280,   1070592015, 1047460887, 1036976354, 67227241,   1068489760, 1043254272, 1048531099,
            1032775928, 1066388527, 1068489760, 1060086868, 1048531100, 1065336890, 1067439145, 1072690187, 1063237696,
            1060081714, 1066387506, 4209597,    1055715,    1056928807, 1065336888, 8419182,    5271427,    1054825495,
            1065336888, 13678365,   8436513,    1053773831, 1061133347, 47269600,   12651199,   1064288314, 1062183955,
            1028574483, 16864859,   1064287292, 1064285191, 1044329654, 80882198,   1064287292, 1069536256, 1059036249,
            1025421609, 1065337910, 1060085845, 2045,       1043280057, 1063236642, 1061136461, 2117532,    1062187081,
            1066388494, 1063235654, 4231994,    9176,       1046529,    1065336891, 5297881,    32613,      4200429,
            1068487721, 7411318,    54004,      1056935017, 1069539339, 7352257,    75394,      1060084824, 2102259,
            3060,       95761,      1063236677, 7353302,    1067439143, 115201,     1067437101, 12604344,   1060084826,
            11554734,   1069540364, 1050632334, 1051675785, 5254102,    3152875,    1054834803, 1041118321, 2045,
            9454534,    1060084823, 1031627859, 1068489760, 15757217,   1065336888, 1024236575, 1063235652, 1048532121,
            1071638548, 1072696310, 1057956942, 1054834803, 3152874,    1069540378, 1052679242, 1062186059, 11554750,
            1064287293, 1048447021, 1069538336, 18907025,   1059034208, 1045267456, 2102256,    26260324,   1053781121,
            4204505,    11554749,   1040129226, 1035894879, 3062,       19958664,   1048532121, 1024321603, 1070590994,
            28361556,   1056935016, 1012750361, 1067438124, 1041177802, 1065337908, 1065340972, 1063236674, 1050632334,
            2045,       1063237696, 1056919615, 1061135441, 6306752,    1060086867, 1050606646, 1071639570, 19958663,
            1057984612, 1044293663, 4206542,    29413195,   1055883379, 1039029248, 9464711,    39916303,   1035915340,
            1072691207, 29413194,   1030674694, 1026456625, 1069540376, 40966919,   1042229439, 1016998929, 1067439144,
            1032775931, 1054832760, 1056936035, 1065337909, 1046430889, 1066388527, 1056936037, 1064287293, 1060085846,
            1055717,    1056935014, 1057980462, 1073740804, 6314902,    1057984612, 1055877151, 3163053,    11573061,
            1059034207, 1053774863, 6326100,    40966918,   1042230325, 1052723200, 10536698,   53572283,   1039080477,
            1064288314, 53572282,   1021221185, 1040130056, 1064287291, 1025421611, 1036976356, 1047482524, 1064287292,
            1042228419, 1051682952, 1050633354, 1065336890, 1059035228, 1067438123, 1054833783, 1066387505, 3062,
            1059789,    1059034209, 1064287256, 22411,      3175275,    1063235656, 1069539335, 40737,      4241161,
            1054838812, 2100216,    59063,      6354599,    1066389510, 5252067,    76365,      67227238,   3150835,
            1054834801, 11551655,   10503081,   1039077589, 1057985632, 3152864,    4202458,    1045380270, 1061136463,
            1069539355, 1071640589, 1051682950, 1065336890, 1060085847, 1063237696, 1059035228, 1069538335, 1051671693,
            1055882356, 1066388527, 1050621,    1044254841, 1046396032, 0,          6303705,    1038951514, 1035848806,
            7354322,    12606387,   1034699810, 1027406907, 15756196,   18908046,   3153883,    1021067264, 1029624078,
            1045381292, 1071642631, 1054692,    1039078609, 1051682951, 1065338930, 1071642632, 1049582740, 1057985632,
            1059035229, 1066389548, 1060085845, 1065337910, 1052728453, 1061136463, 1070589973, 1072691209, 1037981800,
            1055883377, 3155922,    5254101,    1026401356, 1044312179, 6313869,    15756195,   1016920092, 1029583956,
            28361559,   24160110,   1070590993, 1018011695, 1020170568, 32564025,   1066389549, 1007491072, 1033825524,
            1035926760, 1062187080, 1067441186, 1047481505, 1045381292, 1057984610, 1064289334, 1061136462, 1055884400,
            1054831739, 1062186057, 2044,       1066387506, 1034856534, 1059035227, 2114467,    1052657,    1024340027,
            1056933996, 3177291,    6310827,    1012776981, 1046424675, 5287666,    12617571,   1061138504, 1030661184,
            9447341,    35714857,   1060086866, 1021203490, 3058,       46220005,   1059035228, 1013844992, 1064288313,
            1026472228, 1057984613, 1056937058, 1053782145, 1039078610, 1057982569, 1056936036, 1042226379, 1052733568,
            1038023745, 1056935014, 1029547190, 1066388525, 1031718951, 1057984613, 1017911404, 1057753,    1026466829,
            1059033186, 1009452071, 5269376,    1052733567, 1053783121, 1072696303, 8431399,    1053784183, 1040130089,
            1067441186, 11593422,   1055884398, 1039080466, 1060085845, 59874961,   1057984611, 1041180672, 1051681929,
            1015969119, 1061134420, 1046431909, 1044326590, 1033825527, 1047485481, 1049582739, 1024329898, 1050632335,
            1050637330, 1052733568, 1002217567, 1067438121, 1060086787, 1056933996, 986430498,  13249,      1043280056,
            1061134421, 1064290353, 31574,      1048531100, 1065335867, 1060086865, 49900,      1053782142, 1059040272,
            1054834801, 67202,      1059034207, 1047552,    1050631313, 84503,      1065335868, 6300644,    1046427824,
            16799628,   1063241742, 1034878184, 1025405086, 7352259,    3150833,    1042229442, 993866832,  1072694270,
            9453515,    1048532122, 977045532,  1064288313, 1033826546, 1055883377, 1053786228, 1055882358, 1042229440,
            1063235654, 1052733568, 1047437446, 1050632333, 1070588952, 1050633355, 1042126958, 1060084824, 4201449,
            1049581719, 1036824641, 1068488738, 11554747,   1048530081, 1032577024, 2103273,    19956622,   1034871952,
            6302662,    12605364,   1024372013, 997052479,  4081,       22058878,   1034876144, 983395349,  1068490781,
            1024373035, 1044330675, 1043281078, 1062187080, 1036976355, 1054833780, 1045380269, 1055883379, 1048532122,
            1065337909, 1046431908, 1044305017, 1061135442, 1051637,    1048532123, 1032716381, 1072691209, 5259183,
            1051680912, 1022184502, 3158971,    23109494,   1052730497, 1012705280, 5270380,    33612600,   1009679404,
            1071643651, 33614640,   1012818290, 1007578125, 1068489759, 1015968100, 1027522846, 1032775928, 1064288315,
            1030674694, 1041177803, 1038027994, 1060085845, 1046430888, 1054832760, 1043279036, 1056932975, 1062186059,
            1068488741, 1048531101, 1045367915, 4078,       1058767,    1053783165, 1029598282, 20364,      2121591,
            1060083804, 1018034217, 35626,      4232990,    1035941911, 1008569344, 49864,      47268578,   1052741636,
            1062189122, 15742861,   13645709,   1022271803, 1061136461, 4199385,    4200399,    1030674695, 1059036248,
            1066389547, 1069541398, 1039078611, 1057985633, 1053783165, 1059035229, 1048530078, 1057983591, 1041175761,
            1047479462, 1056933994, 1049579611, 1033729211, 1035898066, 1066386485, 1034870837, 1029429361, 1023202452,
            0,          1028568090, 1025159210, 1013680204, 8403919,    1024365568, 4201422,    1005227008, 1011766653,
            1051683971, 1070593034, 2103254,    1023322419, 1052734587, 1062187079, 1070594057, 1035925737, 1054834803,
            1052731525, 1063238716, 1047481503, 1056933993, 1043276996, 1055884399, 1060085846, 1060083804, 1026413744,
            1048529060, 1071640590, 1060084807, 1008491621, 1038014665, 1058754,    1048536093, 995844133,  1012747399,
            2118517,    1054836745, 1069543440, 993799234,  10490777,   1065337856, 1063239738, 980112384,  1072695281,
            1041178822, 1056936035, 1066392610, 1061137484, 1045381290, 1051680909, 1062189121, 1047479465, 1050632333,
            1045377207, 1056937057, 1032771846, 1055884399, 1024342180, 1052733569, 1017990412, 1062185038, 996993112,
            1048530081, 1005258913, 1068486697, 980164640,  1044326592, 996760621,  1072690178, 1059038291, 1009634425,
            1072695271, 6301662,    1055886440, 985455671,  1065340970, 12604345,   1052734590, 969686016,  1054835822,
            1029625099, 1050630292, 1054835822, 1045378228, 1038027993, 1047478441, 1052735610, 1034872059, 1046430886,
            1029613719, 1051683974, 1015926024, 1055883379, 993886280,  1050631313, 986426525,  1064287293, 978122777,
            1049579676, 964300842,  1073739782, 1048533141, 1048528038, 1063240758, 4205516,    1048533143, 1014912105,
            1055888482, 16807833,   1048532120, 989699115,  1049583760, 26260323,   1049580697, 977093632,  1043278015,
            1019119951, 1049580697, 1042231482, 1035924719, 1030674695, 1042227337, 1044330674, 1021204740, 1042229439,
            1002316854, 1046430889, 977034391,  1054833782, 992864273,  1047481504, 943379493,  1066388525, 1038029015,
            1050630293, 1050635395, 1055714,    1041179844, 1052730506, 1047483546, 4214675,    1045379248, 1030679639,
            1044330673, 7373636,    1048531100, 1007579164, 1041177802, 39916301,   1052731526, 1007579136, 1038024931,
            1007565204, 1056931952, 1029626119, 1034872061, 1023321397, 1021237282, 1034877161, 979180690,  1039077591,
            1027536904, 1040129227, 936095776,  1053784185, 1027523865, 1045380269, 1038031056, 1069539357, 1033826545,
            1051680909, 1039078609, 12221,      1041178824, 1056932972, 1039078610, 27483,      1048531102, 1056936005,
            1039077588, 42745,      1055883379, 1043291147, 1040125143, 56983,      1063235656, 1065338880, 1040124123,
            20989801,   1052743692, 1018069332, 994962571,  9447346,    2101237,    1026473249, 943497241,  1072692227,
            1017018716, 1034876141, 1026474267, 1060085844, 1027522845, 1043280057, 1030674695, 1047479463, 1038026974,
            1052732548, 1033826546, 1036937431, 1048530079, 1061136463, 1038026974, 1031576729, 1057985632, 1070588954,
            1041177803, 1026243664, 1068489761, 4202472,    1045377208, 1023029248, 1054689,    12605366,   1025428613,
            7350193,    14706601,   1005463970, 967682065,  3052,       1006513566, 1017019736, 1014918503, 1066390569,
            1020169545, 1029624078, 1022270780, 1056935014, 1033825524, 1042228420, 1028574482, 1048529061, 1047481504,
            1053784187, 1035926759, 1035907278, 1061137485, 1066387506, 1043279038, 1016926349, 2043,       5097,
            1050630293, 1002166343, 14243,      2113435,    1056932974, 990571520,  26443,      26261345,   1010747401,
            1070598140, 18880371,   16783217,   1002314162, 1066391589, 4197332,    5245892,    1012818289, 1060087886,
            1063238715, 1067442207, 1024370993, 1054832760, 1048529059, 1053784186, 1034875120, 1048529058, 1032769804,
            1040125143, 1045379249, 1040122053, 1022168334, 1026467126, 1054834803, 1009617024, 1018870947, 1011619032,
            1065336888, 988577853,  1016663087, 1001006184, 0,          972801024,  4197312,    992529408,  0,
            1060089928, 1069543438, 2100166,    0,          1056938078, 1057986653, 1070594057, 0,          1054834803,
            1046428846, 1060088908, 0,          1051681929, 1033822465, 1050631313, 0,          1048530079, 1015909642,
            1040125143, 0,          1046426803, 994793631,  1029618975, 0,          1010699377, 978957356,  1000122579,
            0,          985480241,  1068494862, 974835812,  0,          970767360,  1061138502, 956926976,  0,
            1048534164, 1052733567, 1066393631, 0,          1048533142, 1044328633, 1060088908, 0,          1048532119,
            1035922677, 1052735609, 0,          1049580697, 1016992006, 1046430887, 0,          1049580697, 980156570,
            1040126167, 0,          1050629272, 952791080,  1032771847, 0,          1021221984, 1056938076, 998066382,
            0,          997065763,  1051686014, 959155295,  0,          989713408,  1047481505, 933913600,  0,
            1035928801, 1042228420, 1051688056, 0,          1040128206, 1036974313, 1049583758, 0,          1043280058,
            1027514626, 1046431910, 0,          1046430886, 977057941,  1043279037, 0,          1050631313, 938164258,
            1040126166, 0,          1054831739, 1044333737, 1035923696, 0,          1042234446, 1043281077, 1005450441,
            0,          1023337492, 1042229442, 956062809,  0,          1032787968, 1040128207, 925588480,  0,
            1023323438, 1039075549, 1038031055, 0,          1030675717, 1036973292, 1039079632, 0,          1038026972,
            985497743,  1039078609, 0,          1044330675, 937174044,  1039078611, 0,          1051682953, 1032776950,
            1039077590, 0,          1059035230, 1034877164, 1040125145, 0,          1066387507, 1036976354, 1025420484,
            0,          1067441154, 1039076569, 967654483,  0,          6301665,    1040127185, 936144896,  0,
            1011766651, 1042226377, 1024374054, 0,          1022270780, 1007573128, 1028574481, 0,          1032774909,
            952967189,  1031726332, 0,          1043278014, 1020172609, 1035926760, 0,          1053782143, 1026473250,
            1039077588, 0,          1063237697, 1031724290, 1043278017, 0,          1073740802, 1036976355, 1046428847,
            0,          2108352,    1042228420, 994980939,  0,          18909068,   1047479462, 967682048,  0,
            999161289,  1046430849, 1010718076, 0,          1012817267, 986592269,  1018070354, 0,          1027521822,
            1008615820, 1025422631, 0,          1041177802, 1017020759, 1032774908, 0,          1054833782, 1026473249,
            1040127186, 0,          1068488740, 1034877164, 1046429865, 0,          8143,       1044328631, 1053782145,
            0,          20343,      1052732548, 1040138307, 0,          31519,      1061135443, 1023345664, 0,
            25173831,   1040146437, 997062099,  0,          11538338,   997060056,  1007566226, 0,          1071642632,
            1008616844, 1019118929, 0,          1055884399, 1021221184, 1029623056, 0,          1040125144, 1033825524,
            1040127184, 0,          1024364864, 1046429866, 1050631314, 0,          1019989210, 1057984610, 1060085845,
            0,          1017762922, 1069539357, 1070587932, 0,          1014526976, 6103,       5252068,    0,
            8393627,    0,          0,          0,          2022,       0,          0,          0,          1064289333,
            0,          0,          0,          1051682950, 0,          0,          0,          1040125143, 0,
            0,          0,          1027518762, 0,          0,          0,          1004297430, 0,          0,
            0,          986347622,  0,          0,          0,          972630016,  0,          0,          0,
            1070598131, 0,          0,          0,          1065340970, 0,          0,          0,          1056936035,
            0,          0,          0,          1048531100, 0,          0,          0,          1040125143, 0,
            0,          0,          1031719187, 0,          0,          0,          998044881,  0,          0,
            0,          965422178,  0,          0,          0,          943322112,  0,          0,          0,
            1059040332, 0,          0,          0,          1054835821, 0,          0,          0,          1049583759,
            0,          0,          0,          1044330674, 0,          0,          0,          1040126167, 0,
            0,          0,          1034872060, 0,          0,          0,          1000185036, 0,          0,
            0,          956035164,  0,          0,          0,          927652864,  0,          0,          0,
            1045383331, 0,          0,          0,          1044331695, 0,          0,          0,          1042230460,
            0,          0,          0,          1041178824, 0,          0,          0,          1040126166, 0,
            0,          0,          1038024932, 0,          0,          0,          1013862598, 0,          0,
            0,          960284758,  0,          0,          0,          928768000,  0,          0,          0,
            1031727354, 0,          0,          0,          1033826545, 0,          0,          0,          1035926759,
            0,          0,          0,          1038026974, 0,          0,          0,          1039077589, 0,
            0,          0,          1041176781, 0,          0,          0,          1040126145, 0,          0,
            0,          979219535,  0,          0,          0,          948766720,  0,          0,          0,
            1018070353, 0,          0,          0,          1023322417, 0,          0,          0,          1028574482,
            0,          0,          0,          1033826546, 0,          0,          0,          1039078611, 0,
            0,          0,          1045378229, 0,          0,          0,          1050629272, 0,          0,
            0,          1014937671, 0,          0,          0,          991842304,  0,          0,          0,
            1004414375, 0,          0,          0,          1012818290, 0,          0,          0,          1022270780,
            0,          0,          0,          1030674694, 0,          0,          0,          1040127185, 0,
            0,          0,          1048531101, 0,          0,          0,          1056933995, 0,          0,
            0,          1065335867, 0,          0,          0,          1062192128, 0,          0,          0,
            990758398,  0,          0,          0,          1003362738, 0,          0,          0,          1014918502,
            0,          0,          0,          1027523866, 0,          0,          0,          1040128207, 0,
            0,          0,          1051682950, 0,          0,          0,          1063237695, 0,          0,
            0,          2044,       0,          0,          0,          10161,      0,          0,          0,
        }
    },
};

#ifdef __cplusplus
#if __cplusplus
}
#endif
#endif /* End of #ifdef __cplusplus */

#endif /* __OS05A_CMOS_EX_H_ */
